Files
tycho-protocol-sdk/evm/out/MockERC20.sol/MockERC20.json
2025-09-16 11:31:19 +02:00

1 line
37 KiB
JSON

{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"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":"owner","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":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"0x60808060405234601557610e0c908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde0314610a1c57508063095ea7b3146109a35780631624f6c61461066057806318160ddd1461064357806323b872dd14610549578063313ce567146105295780633644e5151461050757806370a08231146104cf5780637ecebe001461049757806395d89b41146103d0578063a9059cbb1461032d578063d505accf146100ff5763dd62ed3e146100ab575f80fd5b346100fb5760403660031901126100fb576100c4610ad2565b6100cc610ae8565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100fb5760e03660031901126100fb57610118610ad2565b610120610ae8565b604435606435916084359260ff84168094036100fb574281106102e857610145610bae565b6001600160a01b039095165f818152600860205260409020805496919590915f1988146102d4576020945f9460809460018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c081526101d860e082610afe565b519020604051908682019261190160f01b84526022830152604282015260428152610204606282610afe565b519020906040519182528482015260a435604082015260c435606082015282805260015afa156102c9575f516001600160a01b0316801515806102c0575b1561028a577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925916020915f526005825260405f20855f5282528060405f2055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b50828114610242565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b346100fb5760403660031901126100fb57610346610ad2565b60243590335f5260046020526103608260405f2054610ce4565b335f52600460205260405f205560018060a01b031690815f52600460205261038c8160405f2054610d3d565b825f52600460205260405f20556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b346100fb575f3660031901126100fb576040515f6001546103f081610b76565b80845290600181169081156104735750600114610428575b6104248361041881850382610afe565b60405191829182610aa8565b0390f35b91905060015f525f516020610db75f395f51905f52915f905b80821061045957509091508101602001610418610408565b919260018160209254838588010152019101909291610441565b60ff191660208086019190915291151560051b840190910191506104189050610408565b346100fb5760203660031901126100fb576001600160a01b036104b8610ad2565b165f526008602052602060405f2054604051908152f35b346100fb5760203660031901126100fb576001600160a01b036104f0610ad2565b165f526004602052602060405f2054604051908152f35b346100fb575f3660031901126100fb576020610521610bae565b604051908152f35b346100fb575f3660031901126100fb57602060ff60025416604051908152f35b346100fb5760603660031901126100fb57610562610ad2565b61056a610ae8565b6001600160a01b039091165f818152600560209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161061e575b5050835f52600482526105d68560405f2054610ce4565b845f526004835260405f205560018060a01b031693845f52600482526106008160405f2054610d3d565b855f526004835260405f2055604051908152a3602060405160018152f35b61062791610ce4565b5f858152600584526040808220338352855290205585856105bf565b346100fb575f3660031901126100fb576020600354604051908152f35b346100fb5760603660031901126100fb5760043567ffffffffffffffff81116100fb57610691903690600401610b20565b60243567ffffffffffffffff81116100fb576106b1903690600401610b20565b60443560ff81168091036100fb5760ff6009541661096857825167ffffffffffffffff8111610876576106e45f54610b76565b601f8111610901575b506020601f821160011461089557819293945f9261088a575b50508160011b915f199060031b1c1916175f555b815167ffffffffffffffff811161087657610736600154610b76565b601f811161080e575b50602092601f82116001146107a257928192935f92610797575b50508160011b915f199060031b1c1916176001555b60ff19600254161760025546600655610785610bc8565b6007556009805460ff19166001179055005b015190508380610759565b601f1982169360015f525f516020610db75f395f51905f52915f5b8681106107f657508360019596106107de575b505050811b0160015561076e565b01515f1960f88460031b161c191690558380806107d0565b919260206001819286850151815501940192016107bd565b60015f52601f820160051c5f516020610db75f395f51905f52019060208310610861575b601f0160051c5f516020610db75f395f51905f5201905b818110610856575061073f565b5f8155600101610849565b5f516020610db75f395f51905f529150610832565b634e487b7160e01b5f52604160045260245ffd5b015190508480610706565b601f198216905f80525f516020610d975f395f51905f52915f5b8181106108e9575095836001959697106108d1575b505050811b015f5561071a565b01515f1960f88460031b161c191690558480806108c4565b9192602060018192868b0151815501940192016108af565b5f8052601f820160051c5f516020610d975f395f51905f52019060208310610953575b601f0160051c5f516020610d975f395f51905f5201905b81811061094857506106ed565b5f815560010161093b565b5f516020610d975f395f51905f529150610924565b60405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606490fd5b346100fb5760403660031901126100fb576109bc610ad2565b335f8181526005602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b346100fb575f3660031901126100fb575f5f54610a3881610b76565b80845290600181169081156104735750600114610a5f576104248361041881850382610afe565b5f8080525f516020610d975f395f51905f52939250905b808210610a8e57509091508101602001610418610408565b919260018160209254838588010152019101909291610a76565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100fb57565b602435906001600160a01b03821682036100fb57565b90601f8019910116810190811067ffffffffffffffff82111761087657604052565b81601f820112156100fb5780359067ffffffffffffffff82116108765760405192610b55601f8401601f191660200185610afe565b828452602083830101116100fb57815f926020809301838601378301015290565b90600182811c92168015610ba4575b6020831014610b9057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610b85565b6006544603610bbd5760075490565b610bc5610bc8565b90565b6040515f905f549181610bda84610b76565b9182825260208201946001811690815f14610cc85750600114610c7e575b610c0492500382610afe565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610c7860c082610afe565b51902090565b505f80805290915f516020610d975f395f51905f525b818310610cac575050906020610c0492820101610bf8565b6020919350806001915483858801015201910190918392610c94565b60ff1916865250610c0492151560051b82016020019050610bf8565b90808210610cf85781039081116102d45790565b60405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606490fd5b908101908181116102d4578110610d515790565b60405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606490fdfe290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6a26469706673582212207bc18d6111241599ac42e2f08bbb23d9e8dc9449368325c017085997bf0db86e64736f6c634300081b0033","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde0314610a1c57508063095ea7b3146109a35780631624f6c61461066057806318160ddd1461064357806323b872dd14610549578063313ce567146105295780633644e5151461050757806370a08231146104cf5780637ecebe001461049757806395d89b41146103d0578063a9059cbb1461032d578063d505accf146100ff5763dd62ed3e146100ab575f80fd5b346100fb5760403660031901126100fb576100c4610ad2565b6100cc610ae8565b6001600160a01b039182165f908152600560209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100fb5760e03660031901126100fb57610118610ad2565b610120610ae8565b604435606435916084359260ff84168094036100fb574281106102e857610145610bae565b6001600160a01b039095165f818152600860205260409020805496919590915f1988146102d4576020945f9460809460018b01905560405190878201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528a604084015260018060a01b03169a8b6060840152898784015260a083015260c082015260c081526101d860e082610afe565b519020604051908682019261190160f01b84526022830152604282015260428152610204606282610afe565b519020906040519182528482015260a435604082015260c435606082015282805260015afa156102c9575f516001600160a01b0316801515806102c0575b1561028a577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925916020915f526005825260405f20855f5282528060405f2055604051908152a3005b60405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b50828114610242565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606490fd5b346100fb5760403660031901126100fb57610346610ad2565b60243590335f5260046020526103608260405f2054610ce4565b335f52600460205260405f205560018060a01b031690815f52600460205261038c8160405f2054610d3d565b825f52600460205260405f20556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3602060405160018152f35b346100fb575f3660031901126100fb576040515f6001546103f081610b76565b80845290600181169081156104735750600114610428575b6104248361041881850382610afe565b60405191829182610aa8565b0390f35b91905060015f525f516020610db75f395f51905f52915f905b80821061045957509091508101602001610418610408565b919260018160209254838588010152019101909291610441565b60ff191660208086019190915291151560051b840190910191506104189050610408565b346100fb5760203660031901126100fb576001600160a01b036104b8610ad2565b165f526008602052602060405f2054604051908152f35b346100fb5760203660031901126100fb576001600160a01b036104f0610ad2565b165f526004602052602060405f2054604051908152f35b346100fb575f3660031901126100fb576020610521610bae565b604051908152f35b346100fb575f3660031901126100fb57602060ff60025416604051908152f35b346100fb5760603660031901126100fb57610562610ad2565b61056a610ae8565b6001600160a01b039091165f818152600560209081526040808320338452825290912054604435937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9291856001820161061e575b5050835f52600482526105d68560405f2054610ce4565b845f526004835260405f205560018060a01b031693845f52600482526106008160405f2054610d3d565b855f526004835260405f2055604051908152a3602060405160018152f35b61062791610ce4565b5f858152600584526040808220338352855290205585856105bf565b346100fb575f3660031901126100fb576020600354604051908152f35b346100fb5760603660031901126100fb5760043567ffffffffffffffff81116100fb57610691903690600401610b20565b60243567ffffffffffffffff81116100fb576106b1903690600401610b20565b60443560ff81168091036100fb5760ff6009541661096857825167ffffffffffffffff8111610876576106e45f54610b76565b601f8111610901575b506020601f821160011461089557819293945f9261088a575b50508160011b915f199060031b1c1916175f555b815167ffffffffffffffff811161087657610736600154610b76565b601f811161080e575b50602092601f82116001146107a257928192935f92610797575b50508160011b915f199060031b1c1916176001555b60ff19600254161760025546600655610785610bc8565b6007556009805460ff19166001179055005b015190508380610759565b601f1982169360015f525f516020610db75f395f51905f52915f5b8681106107f657508360019596106107de575b505050811b0160015561076e565b01515f1960f88460031b161c191690558380806107d0565b919260206001819286850151815501940192016107bd565b60015f52601f820160051c5f516020610db75f395f51905f52019060208310610861575b601f0160051c5f516020610db75f395f51905f5201905b818110610856575061073f565b5f8155600101610849565b5f516020610db75f395f51905f529150610832565b634e487b7160e01b5f52604160045260245ffd5b015190508480610706565b601f198216905f80525f516020610d975f395f51905f52915f5b8181106108e9575095836001959697106108d1575b505050811b015f5561071a565b01515f1960f88460031b161c191690558480806108c4565b9192602060018192868b0151815501940192016108af565b5f8052601f820160051c5f516020610d975f395f51905f52019060208310610953575b601f0160051c5f516020610d975f395f51905f5201905b81811061094857506106ed565b5f815560010161093b565b5f516020610d975f395f51905f529150610924565b60405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606490fd5b346100fb5760403660031901126100fb576109bc610ad2565b335f8181526005602090815260408083206001600160a01b03909516808452948252918290206024359081905591519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a3602060405160018152f35b346100fb575f3660031901126100fb575f5f54610a3881610b76565b80845290600181169081156104735750600114610a5f576104248361041881850382610afe565b5f8080525f516020610d975f395f51905f52939250905b808210610a8e57509091508101602001610418610408565b919260018160209254838588010152019101909291610a76565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100fb57565b602435906001600160a01b03821682036100fb57565b90601f8019910116810190811067ffffffffffffffff82111761087657604052565b81601f820112156100fb5780359067ffffffffffffffff82116108765760405192610b55601f8401601f191660200185610afe565b828452602083830101116100fb57815f926020809301838601378301015290565b90600182811c92168015610ba4575b6020831014610b9057565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610b85565b6006544603610bbd5760075490565b610bc5610bc8565b90565b6040515f905f549181610bda84610b76565b9182825260208201946001811690815f14610cc85750600114610c7e575b610c0492500382610afe565b51902060405160208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a08152610c7860c082610afe565b51902090565b505f80805290915f516020610d975f395f51905f525b818310610cac575050906020610c0492820101610bf8565b6020919350806001915483858801015201910190918392610c94565b60ff1916865250610c0492151560051b82016020019050610bf8565b90808210610cf85781039081116102d45790565b60405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606490fd5b908101908181116102d4578110610d515790565b60405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606490fdfe290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6a26469706673582212207bc18d6111241599ac42e2f08bbb23d9e8dc9449368325c017085997bf0db86e64736f6c634300081b0033","sourceMap":"369:7950:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:20;;;;;;;1659:10;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;4416:15;4404:27;;369:7950;;4617:18;;:::i;:::-;-1:-1:-1;;;;;369:7950:20;;;;;;;5026:6;369:7950;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;;;;;;;;;;;4692:413;;;;369:7950;4732:157;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:413;;;369:7950;4692:413;;:::i;:::-;369:7950;4657:470;;369:7950;;4547:598;;;;369:7950;;;;;;;;;;;;;;;4547:598;;;;;;:::i;:::-;369:7950;4520:639;;369:7950;;;;;;;;;;;;;;;;;;;;;;4497:717;;;369:7950;4497:717;;;;;369:7950;4497:717;-1:-1:-1;;;;;369:7950:20;5233:30;;;;:59;;369:7950;;;;5383:31;369:7950;;;;;5322:10;369:7950;;;;;;-1:-1:-1;369:7950:20;;;;;-1:-1:-1;369:7950:20;;;;;;;5383:31;369:7950;;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;-1:-1:-1;;;369:7950:20;;;;;;;5233:59;5267:25;;;;5233:59;;4497:717;369:7950;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;:::i;:::-;;;3420:10;;369:7950;;;;;3404:36;369:7950;;;;;3404:36;:::i;:::-;3420:10;369:7950;;;;;;;;;;;;;;;;;;;;;;3467:28;369:7950;;;;;3467:28;:::i;:::-;369:7950;;;;;;;;;;;;;;;3511:32;369:7950;3420:10;3511:32;;369:7950;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;857:7;369:7950;;;;:::i;:::-;;;;;857:7;369:7950;;;857:7;;;;369:7950;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;857:7;369:7950;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;;;857:7;369:7950;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;-1:-1:-1;;369:7950:20;;;;-1:-1:-1;;;;;369:7950:20;;:::i;:::-;;;;1970:41;369:7950;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;-1:-1:-1;;;;;369:7950:20;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;953:9;369:7950;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;369:7950:20;;;;;;;3709:10;369:7950;;;;;;;;3726:10;369:7950;;;;;;;;;;;3995:26;;369:7950;;;3788:22;;3784:80;;369:7950;;;;;;;;;3894:30;369:7950;;;;;3894:30;:::i;:::-;369:7950;;;;;;;;;;;;;;;;;;;;;;;3951:28;369:7950;;;;;3951:28;:::i;:::-;369:7950;;;;;;;;;;;;;;;3995:26;369:7950;;;;;;;3784:80;3843:21;;;:::i;:::-;369:7950;;;;3709:10;369:7950;;;;;;3726:10;369:7950;;;;;;;3784:80;;;;369:7950;;;;;;-1:-1:-1;;369:7950:20;;;;;1403:12;369:7950;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;2611:11;369:7950;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;2680:17;369:7950;;;;2707:21;369:7950;;;2707:21;369:7950;7884:53;2739:33;369:7950;2809:24;;:::i;:::-;2782:51;369:7950;2611:11;369:7950;;-1:-1:-1;;369:7950:20;2680:17;369:7950;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;2680:17;369:7950;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;;;;;;;;;;2680:17;369:7950;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;;;;2680:17;369:7950;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;-1:-1:-1;369:7950:20;;;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;:::i;:::-;3167:10;369:7950;;;;3156:10;369:7950;;;;;;;;-1:-1:-1;;;;;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;3212:37;;;369:7950;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;-1:-1:-1;369:7950:20;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;:::o;:::-;;;;-1:-1:-1;;;;;369:7950:20;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;369:7950:20;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;369:7950:20;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;5427:178;5528:16;369:7950;7884:53;5510:34;:88;;5547:24;369:7950;5427:178;:::o;5510:88::-;5574:24;;:::i;:::-;5427:178;:::o;5611:404::-;369:7950;;5882:5;369:7950;5882:5;369:7950;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5866:23;;369:7950;;;5725:273;;369:7950;5753:95;369:7950;;;;;;5907:14;369:7950;;;;7884:53;369:7950;;;;5979:4;369:7950;;;;;5725:273;;;;;;:::i;:::-;369:7950;5702:306;;5611:404;:::o;369:7950::-;-1:-1:-1;5882:5:20;369:7950;;;;;-1:-1:-1;;;;;;;;;;;369:7950:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;369:7950:20;;;-1:-1:-1;369:7950:20;;;;;;;;;;;-1:-1:-1;369:7950:20;;7038:154;;7124:6;;;369:7950;;;;;;;;;7038:154;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;;;;;;;;;6859:173;;369:7950;;;;;;;;6972:6;;369:7950;;6859:173;:::o;369:7950::-;;;-1:-1:-1;;;369:7950:20;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"owner\",\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":balancer-v2/interfaces/=lib/balancer-v2-monorepo/pkg/interfaces/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"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":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":"owner","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":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"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":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","balancer-v2/interfaces/=lib/balancer-v2-monorepo/pkg/interfaces/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"id":20}