perpl-sdk 0.2.2

Rust SDK for the Perpl decentralized perpetuals exchange
Documentation
1
{"abi":[{"type":"constructor","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_decimals","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523461033057610d398038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff19600554161760055560405161098e90816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461056957508063095ea7b31461054357806318160ddd1461052657806323b872dd14610463578063313ce5671461044357806339509351146103f457806340c10f191461033757806370a082311461030057806395d89b41146101e5578063a457c2d714610129578063a9059cbb146100f85763dd62ed3e146100a0575f80fd5b346100f45760403660031901126100f4576100b9610662565b6001600160a01b036100c9610678565b91165f5260016020526001600160a01b0360405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346100f45760403660031901126100f45761011e610114610662565b60243590336107b3565b602060405160018152f35b346100f45760403660031901126100f457610142610662565b60243590335f52600160205260405f206001600160a01b0382165f5260205260405f20549180831061017a5761011e920390336106af565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608490fd5b346100f4575f3660031901126100f4576040515f6004548060011c906001811680156102f6575b6020831081146102e2578285529081156102c65750600114610271575b50819003601f01601f191681019067ffffffffffffffff82118183101761025d5761025982918260405282610638565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b8282106102b057506020915082010182610229565b600181602092548385880101520191019061029b565b90506020925060ff191682840152151560051b82010182610229565b634e487b7160e01b5f52602260045260245ffd5b91607f169161020c565b346100f45760203660031901126100f4576001600160a01b03610321610662565b165f525f602052602060405f2054604051908152f35b346100f45760403660031901126100f457610350610662565b6001600160a01b031660243581156103af577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020826103935f9460025461068e565b60025584845283825260408420818154019055604051908152a3005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b346100f45760403660031901126100f45761011e610410610662565b335f52600160205260405f206001600160a01b0382165f5260205261043c60405f20602435905461068e565b90336106af565b346100f4575f3660031901126100f457602060ff60055416604051908152f35b346100f45760603660031901126100f45761047c610662565b610484610678565b604435906001600160a01b0383165f52600160205260405f206001600160a01b0333165f5260205260405f2054925f1984036104c5575b61011e93506107b3565b8284106104e1576104dc8361011e950333836106af565b6104bb565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346100f4575f3660031901126100f4576020600254604051908152f35b346100f45760403660031901126100f45761011e61055f610662565b60243590336106af565b346100f4575f3660031901126100f4575f6003548060011c9060018116801561062e575b6020831081146102e2578285529081156102c657506001146105d95750819003601f01601f191681019067ffffffffffffffff82118183101761025d5761025982918260405282610638565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b82821061061857506020915082010182610229565b6001816020925483858801015201910190610603565b91607f169161058d565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f457565b602435906001600160a01b03821682036100f457565b9190820180921161069b57565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0316908115610762576001600160a01b03169182156107125760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b03169081156108ed576001600160a01b031691821561089c57815f525f60205260405f205481811061083157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608490fdfea2646970667358221220a2b8c845e9f5cca9c4d9a42aee27cea5f7503ab2dcf18e1fafd1de105b1ef3d664736f6c634300081e0033","sourceMap":"545:404:72:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;545:404:72;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;545:404:72;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;545:404:72;;;;2046:13:112;545:404:72;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;;2046:13:112;545:404:72;;;;;2046:13:112;545:404:72;;;;-1:-1:-1;;;;;545:404:72;;;;2069:17:112;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;;2046:13:112;545:404:72;;;;;2069:17:112;545:404:72;;;;726:25;545:404;;;726:25;545:404;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;2069:17:112;-1:-1:-1;545:404:72;;-1:-1:-1;545:404:72;;-1:-1:-1;545:404:72;;;;;;;;;;;;;;;;;;;;;2069:17:112;545:404:72;;;;;;;;;;2046:13:112;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2069:17:112;-1:-1:-1;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;-1:-1:-1;545:404:72;;2069:17:112;545:404:72;;-1:-1:-1;545:404:72;;;;;;;;;;;;-1:-1:-1;545:404:72;;2069:17:112;545:404:72;;-1:-1:-1;545:404:72;;;;;-1:-1:-1;545:404:72;;;;;;;;;;2046:13:112;-1:-1:-1;545:404:72;;-1:-1:-1;545:404:72;;-1:-1:-1;545:404:72;;;;;;;;;;;;;;;;;;;;;;;2046:13:112;545:404:72;;;;;;;;;;2046:13:112;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2046:13:112;-1:-1:-1;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;-1:-1:-1;;545:404:72;;;-1:-1:-1;;;;;545:404:72;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;545:404:72;;;;;;;;-1:-1:-1;;545:404:72;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461056957508063095ea7b31461054357806318160ddd1461052657806323b872dd14610463578063313ce5671461044357806339509351146103f457806340c10f191461033757806370a082311461030057806395d89b41146101e5578063a457c2d714610129578063a9059cbb146100f85763dd62ed3e146100a0575f80fd5b346100f45760403660031901126100f4576100b9610662565b6001600160a01b036100c9610678565b91165f5260016020526001600160a01b0360405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346100f45760403660031901126100f45761011e610114610662565b60243590336107b3565b602060405160018152f35b346100f45760403660031901126100f457610142610662565b60243590335f52600160205260405f206001600160a01b0382165f5260205260405f20549180831061017a5761011e920390336106af565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608490fd5b346100f4575f3660031901126100f4576040515f6004548060011c906001811680156102f6575b6020831081146102e2578285529081156102c65750600114610271575b50819003601f01601f191681019067ffffffffffffffff82118183101761025d5761025982918260405282610638565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b8282106102b057506020915082010182610229565b600181602092548385880101520191019061029b565b90506020925060ff191682840152151560051b82010182610229565b634e487b7160e01b5f52602260045260245ffd5b91607f169161020c565b346100f45760203660031901126100f4576001600160a01b03610321610662565b165f525f602052602060405f2054604051908152f35b346100f45760403660031901126100f457610350610662565b6001600160a01b031660243581156103af577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020826103935f9460025461068e565b60025584845283825260408420818154019055604051908152a3005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b346100f45760403660031901126100f45761011e610410610662565b335f52600160205260405f206001600160a01b0382165f5260205261043c60405f20602435905461068e565b90336106af565b346100f4575f3660031901126100f457602060ff60055416604051908152f35b346100f45760603660031901126100f45761047c610662565b610484610678565b604435906001600160a01b0383165f52600160205260405f206001600160a01b0333165f5260205260405f2054925f1984036104c5575b61011e93506107b3565b8284106104e1576104dc8361011e950333836106af565b6104bb565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346100f4575f3660031901126100f4576020600254604051908152f35b346100f45760403660031901126100f45761011e61055f610662565b60243590336106af565b346100f4575f3660031901126100f4575f6003548060011c9060018116801561062e575b6020831081146102e2578285529081156102c657506001146105d95750819003601f01601f191681019067ffffffffffffffff82118183101761025d5761025982918260405282610638565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b82821061061857506020915082010182610229565b6001816020925483858801015201910190610603565b91607f169161058d565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100f457565b602435906001600160a01b03821682036100f457565b9190820180921161069b57565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0316908115610762576001600160a01b03169182156107125760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b03169081156108ed576001600160a01b031691821561089c57815f525f60205260405f205481811061083157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608490fdfea2646970667358221220a2b8c845e9f5cca9c4d9a42aee27cea5f7503ab2dcf18e1fafd1de105b1ef3d664736f6c634300081e0033","sourceMap":"545:404:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;;:::i;:::-;-1:-1:-1;;;;;545:404:72;;:::i;:::-;;;;;4102:11:112;545:404:72;;-1:-1:-1;;;;;545:404:72;;;4102:27:112;545:404:72;-1:-1:-1;545:404:72;;;;;-1:-1:-1;545:404:72;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;3894:6:112;545:404:72;;:::i;:::-;;;734:10:118;;3894:6:112;:::i;:::-;545:404:72;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;;:::i;:::-;;;734:10:118;;545:404:72;;;;;;;;-1:-1:-1;;;;;545:404:72;;-1:-1:-1;545:404:72;;;;-1:-1:-1;545:404:72;;6792:35:112;;;;545:404:72;;6928:34:112;545:404:72;;734:10:118;;6928:34:112;:::i;545:404:72:-;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;-1:-1:-1;;545:404:72;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;-1:-1:-1;;;;;545:404:72;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;;:::i;:::-;-1:-1:-1;;;;;545:404:72;;;8603:21:112;;545:404:72;;8952:37:112;545:404:72;;8731:22:112;545:404:72;;8731:22:112;545:404:72;8731:22:112;:::i;:::-;;545:404:72;;;;;;;;;;;;;;;;;;;;;8952:37:112;545:404:72;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;6021:38:112;545:404:72;;:::i;:::-;734:10:118;545:404:72;;;;;;;;-1:-1:-1;;;;;545:404:72;;-1:-1:-1;545:404:72;;;6021:38:112;545:404:72;-1:-1:-1;545:404:72;;;;;6021:38:112;:::i;:::-;734:10:118;;6021:38:112;:::i;545:404:72:-;;;;;;-1:-1:-1;;545:404:72;;;;;;838:13;545:404;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;;:::i;:::-;;;:::i;:::-;;;;-1:-1:-1;;;;;545:404:72;;;;;;;;;;-1:-1:-1;;;;;734:10:118;545:404:72;-1:-1:-1;545:404:72;;;;-1:-1:-1;545:404:72;;11264:17:112;;;11244:37;;11240:243;;545:404:72;5424:6:112;;;;:::i;11240:243::-;11305:26;;;545:404:72;;11432:25:112;545:404:72;5424:6:112;545:404:72;;734:10:118;11432:25:112;;:::i;:::-;11240:243;;545:404:72;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;;3342:12:112;545:404:72;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;4606:6:112;545:404:72;;:::i;:::-;;;734:10:118;;4606:6:112;:::i;545:404:72:-;;;;;;-1:-1:-1;;545:404:72;;;;;2244:5:112;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:404:72;;;;;-1:-1:-1;;545:404:72;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2244:5:112;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:404:72;;;;:::o;:::-;;;;-1:-1:-1;;;;;545:404:72;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;545:404:72;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;10457:340:112;-1:-1:-1;;;;;545:404:72;10558:19:112;;;545:404:72;;-1:-1:-1;;;;;545:404:72;10636:21:112;;;545:404:72;;;10758:32:112;545:404:72;;10575:1:112;545:404:72;10707:11:112;545:404:72;;;10575:1:112;545:404:72;;-1:-1:-1;545:404:72;;;;;-1:-1:-1;545:404:72;;;;;;;10758:32:112;10457:340::o;545:404:72:-;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;7456:788:112;-1:-1:-1;;;;;545:404:72;7552:18:112;;;545:404:72;;-1:-1:-1;;;;;545:404:72;7630:16:112;;;545:404:72;;;7568:1:112;545:404:72;7568:1:112;545:404:72;;;7568:1:112;545:404:72;;7801:21:112;;;545:404:72;;;8163:26:112;545:404:72;;;;7568:1:112;545:404:72;7568:1:112;545:404:72;;;;7568:1:112;545:404:72;;;7568:1:112;545:404:72;7568:1:112;545:404:72;;;7568:1:112;545:404:72;;;;;;;;;;;;8163:26:112;7456:788::o;545:404:72:-;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;-1:-1:-1;;;545:404:72;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/helpers/TestToken.sol\":\"TestToken\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":800},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/contracts/=node_modules/@chainlink/contracts/\",\":@chainlink/local/=node_modules/@chainlink/local/\",\":@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":hardhat/=node_modules/hardhat/\",\":solady/=node_modules/solady/\"],\"viaIR\":true},\"sources\":{\"contracts/helpers/TestToken.sol\":{\"keccak256\":\"0x73e08b6d6a4358517d168bce1a287faadeca639d2a60acd952d569f828a14d4e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://21c76a3d20bc2709a58aa361f1c7b2722985f3aea688a19aaac7f3d274977495\",\"dweb:/ipfs/QmZoi8DxBwevWPZ5MkgSn6UEZyv7kLJD2LHsFUSXSZsm6E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@arbitrum/=node_modules/@arbitrum/","@chainlink/contracts/=node_modules/@chainlink/contracts/","@chainlink/local/=node_modules/@chainlink/local/","@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/","@offchainlabs/=node_modules/@offchainlabs/","@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/","@scroll-tech/=node_modules/@scroll-tech/","@zksync/=node_modules/@zksync/","hardhat/=node_modules/hardhat/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":800},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/helpers/TestToken.sol":"TestToken"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"contracts/helpers/TestToken.sol":{"keccak256":"0x73e08b6d6a4358517d168bce1a287faadeca639d2a60acd952d569f828a14d4e","urls":["bzz-raw://21c76a3d20bc2709a58aa361f1c7b2722985f3aea688a19aaac7f3d274977495","dweb:/ipfs/QmZoi8DxBwevWPZ5MkgSn6UEZyv7kLJD2LHsFUSXSZsm6E"],"license":"BUSL-1.1"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"}},"version":1},"id":72}