From d11ba7b12609099cf356d3f6892f830e6fe97ced Mon Sep 17 00:00:00 2001 From: Kinrezc Date: Wed, 1 Nov 2023 14:03:26 -0400 Subject: [PATCH] rm fork example --- fork_example/WETH.json | 1901 ---------------------------- fork_example/test.json | 1 - fork_example/weth_fork_config.toml | 20 - 3 files changed, 1922 deletions(-) delete mode 100644 fork_example/WETH.json delete mode 100644 fork_example/test.json delete mode 100644 fork_example/weth_fork_config.toml diff --git a/fork_example/WETH.json b/fork_example/WETH.json deleted file mode 100644 index 6051219..0000000 --- a/fork_example/WETH.json +++ /dev/null @@ -1,1901 +0,0 @@ -{ - "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": "amount", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposit", - "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": "amount", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "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" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b506040518060400160405280600d81526020016c2bb930b83832b21022ba3432b960991b815250604051806040016040528060048152602001630ae8aa8960e31b81525060128260009081620000689190620001db565b506001620000778382620001db565b5060ff81166080524660a0526200008d6200009a565b60c0525062000325915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000ce9190620002a7565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016157607f821691505b6020821081036200018257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d657600081815260208120601f850160051c81016020861015620001b15750805b601f850160051c820191505b81811015620001d257828155600101620001bd565b5050505b505050565b81516001600160401b03811115620001f757620001f762000136565b6200020f816200020884546200014c565b8462000188565b602080601f8311600181146200024757600084156200022e5750858301515b600019600386901b1c1916600185901b178555620001d2565b600085815260208120601f198616915b82811015620002785788860151825594840194600190910190840162000257565b5085821015620002975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620002b7816200014c565b60018281168015620002d25760018114620002e85762000319565b60ff198416875282151583028701945062000319565b8760005260208060002060005b85811015620003105781548a820152908401908201620002f5565b50505082870194505b50929695505050505050565b60805160a05160c051610d4562000355600039600061059f0152600061056a015260006101c60152610d456000f3fe6080604052600436106100e15760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb1461027e578063d0e30db01461029e578063d505accf146102a6578063dd62ed3e146102c657600080fd5b806370a082311461020f5780637ecebe001461023c57806395d89b411461026957600080fd5b806323b872dd116100bb57806323b872dd146101745780632e1a7d4d14610194578063313ce567146101b45780633644e515146101fa57600080fd5b806306fdde03146100f5578063095ea7b31461012057806318160ddd1461015057600080fd5b366100f0576100ee6102fe565b005b600080fd5b34801561010157600080fd5b5061010a61033f565b6040516101179190610a29565b60405180910390f35b34801561012c57600080fd5b5061014061013b366004610a93565b6103cd565b6040519015158152602001610117565b34801561015c57600080fd5b5061016660025481565b604051908152602001610117565b34801561018057600080fd5b5061014061018f366004610abd565b61043a565b3480156101a057600080fd5b506100ee6101af366004610af9565b61051a565b3480156101c057600080fd5b506101e87f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610117565b34801561020657600080fd5b50610166610566565b34801561021b57600080fd5b5061016661022a366004610b12565b60036020526000908152604090205481565b34801561024857600080fd5b50610166610257366004610b12565b60056020526000908152604090205481565b34801561027557600080fd5b5061010a6105c1565b34801561028a57600080fd5b50610140610299366004610a93565b6105ce565b6100ee6102fe565b3480156102b257600080fd5b506100ee6102c1366004610b34565b610634565b3480156102d257600080fd5b506101666102e1366004610ba7565b600460209081526000928352604080842090915290825290205481565b610308333461087d565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b6000805461034c90610bda565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610bda565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104289086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610496576104718382610c2a565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b038516600090815260036020526040812080548592906104be908490610c2a565b90915550506001600160a01b0380851660008181526003602052604090819020805487019055519091871690600080516020610cf0833981519152906105079087815260200190565b60405180910390a3506001949350505050565b61052433826108d7565b60405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a26105633382610939565b50565b60007f0000000000000000000000000000000000000000000000000000000000000000461461059c5761059761098f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6001805461034c90610bda565b336000908152600360205260408120805483919083906105ef908490610c2a565b90915550506001600160a01b03831660008181526003602052604090819020805485019055513390600080516020610cf0833981519152906104289086815260200190565b428410156106895760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b60006001610695610566565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156107a1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107d75750876001600160a01b0316816001600160a01b0316145b6108145760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610680565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b806002600082825461088f9190610c3d565b90915550506001600160a01b038216600081815260036020908152604080832080548601905551848152600080516020610cf083398151915291015b60405180910390a35050565b6001600160a01b038216600090815260036020526040812080548392906108ff908490610c2a565b90915550506002805482900390556040518181526000906001600160a01b03841690600080516020610cf0833981519152906020016108cb565b600080600080600085875af190508061098a5760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610680565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516109c19190610c50565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610a5657858101830151858201604001528201610a3a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a8e57600080fd5b919050565b60008060408385031215610aa657600080fd5b610aaf83610a77565b946020939093013593505050565b600080600060608486031215610ad257600080fd5b610adb84610a77565b9250610ae960208501610a77565b9150604084013590509250925092565b600060208284031215610b0b57600080fd5b5035919050565b600060208284031215610b2457600080fd5b610b2d82610a77565b9392505050565b600080600080600080600060e0888a031215610b4f57600080fd5b610b5888610a77565b9650610b6660208901610a77565b95506040880135945060608801359350608088013560ff81168114610b8a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bba57600080fd5b610bc383610a77565b9150610bd160208401610a77565b90509250929050565b600181811c90821680610bee57607f821691505b602082108103610c0e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561043457610434610c14565b8082018082111561043457610434610c14565b600080835481600182811c915080831680610c6c57607f831692505b60208084108203610c8b57634e487b7160e01b86526022600452602486fd5b818015610c9f5760018114610cb457610ce1565b60ff1986168952841515850289019650610ce1565b60008a81526020902060005b86811015610cd95781548b820152908501908301610cc0565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205c31d86073784b1e39f51e9dce54214cc16270f1d510098b81351fb2f55bab8864736f6c63430008130033", - "sourceMap": "406:605:4:-:0;;;;;;;;;;;;;1968:292:2;;;;;;;;;;;;;-1:-1:-1;;;1968:292:2;;;;;;;;;;;;;;;;-1:-1:-1;;;1968:292:2;;;454:2:4;2088:5:2;2081:4;:12;;;;;;:::i;:::-;-1:-1:-1;2103:6:2;:16;2112:7;2103:6;:16;:::i;:::-;-1:-1:-1;2129:20:2;;;;;2179:13;2160:32;;2229:24;:22;:24::i;:::-;2202:51;;-1:-1:-1;406:605:4;;-1:-1:-1;;406:605:4;5497:446:2;5562:7;5659:95;5792:4;5776:22;;;;;;:::i;:::-;;;;;;;;;;5627:295;;;3843:25:6;;;;3884:18;;3877:34;;;;5820:14:2;3927:18:6;;;3920:34;5856:13:2;3970:18:6;;;3963:34;5899:4:2;4013:19:6;;;4006:61;3815:19;;5627:295:2;;;;;;;;;;;;5600:336;;;;;;5581:355;;5497:446;:::o;14:127:6:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:6;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:6;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:6;;;2580:26;2531:89;-1:-1:-1;;1335:1:6;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:6;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:6;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:6;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:6:o;2735:844::-;2865:3;2894:1;2927:6;2921:13;2957:36;2983:9;2957:36;:::i;:::-;3012:1;3029:18;;;3056:133;;;;3203:1;3198:356;;;;3022:532;;3056:133;-1:-1:-1;;3089:24:6;;3077:37;;3162:14;;3155:22;3143:35;;3134:45;;;-1:-1:-1;3056:133:6;;3198:356;3229:6;3226:1;3219:17;3259:4;3304:2;3301:1;3291:16;3329:1;3343:165;3357:6;3354:1;3351:13;3343:165;;;3435:14;;3422:11;;;3415:35;3478:16;;;;3372:10;;3343:165;;;3347:3;;;3537:6;3532:3;3528:16;3521:23;;3022:532;-1:-1:-1;3570:3:6;;2735:844;-1:-1:-1;;;;;;2735:844:6:o;3584:489::-;406:605:4;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106100e15760003560e01c806370a082311161007f578063a9059cbb11610059578063a9059cbb1461027e578063d0e30db01461029e578063d505accf146102a6578063dd62ed3e146102c657600080fd5b806370a082311461020f5780637ecebe001461023c57806395d89b411461026957600080fd5b806323b872dd116100bb57806323b872dd146101745780632e1a7d4d14610194578063313ce567146101b45780633644e515146101fa57600080fd5b806306fdde03146100f5578063095ea7b31461012057806318160ddd1461015057600080fd5b366100f0576100ee6102fe565b005b600080fd5b34801561010157600080fd5b5061010a61033f565b6040516101179190610a29565b60405180910390f35b34801561012c57600080fd5b5061014061013b366004610a93565b6103cd565b6040519015158152602001610117565b34801561015c57600080fd5b5061016660025481565b604051908152602001610117565b34801561018057600080fd5b5061014061018f366004610abd565b61043a565b3480156101a057600080fd5b506100ee6101af366004610af9565b61051a565b3480156101c057600080fd5b506101e87f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610117565b34801561020657600080fd5b50610166610566565b34801561021b57600080fd5b5061016661022a366004610b12565b60036020526000908152604090205481565b34801561024857600080fd5b50610166610257366004610b12565b60056020526000908152604090205481565b34801561027557600080fd5b5061010a6105c1565b34801561028a57600080fd5b50610140610299366004610a93565b6105ce565b6100ee6102fe565b3480156102b257600080fd5b506100ee6102c1366004610b34565b610634565b3480156102d257600080fd5b506101666102e1366004610ba7565b600460209081526000928352604080842090915290825290205481565b610308333461087d565b60405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b6000805461034c90610bda565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610bda565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104289086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610496576104718382610c2a565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b038516600090815260036020526040812080548592906104be908490610c2a565b90915550506001600160a01b0380851660008181526003602052604090819020805487019055519091871690600080516020610cf0833981519152906105079087815260200190565b60405180910390a3506001949350505050565b61052433826108d7565b60405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a26105633382610939565b50565b60007f0000000000000000000000000000000000000000000000000000000000000000461461059c5761059761098f565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6001805461034c90610bda565b336000908152600360205260408120805483919083906105ef908490610c2a565b90915550506001600160a01b03831660008181526003602052604090819020805485019055513390600080516020610cf0833981519152906104289086815260200190565b428410156106895760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b60006001610695610566565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156107a1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107d75750876001600160a01b0316816001600160a01b0316145b6108145760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610680565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b806002600082825461088f9190610c3d565b90915550506001600160a01b038216600081815260036020908152604080832080548601905551848152600080516020610cf083398151915291015b60405180910390a35050565b6001600160a01b038216600090815260036020526040812080548392906108ff908490610c2a565b90915550506002805482900390556040518181526000906001600160a01b03841690600080516020610cf0833981519152906020016108cb565b600080600080600085875af190508061098a5760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610680565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516109c19190610c50565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610a5657858101830151858201604001528201610a3a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a8e57600080fd5b919050565b60008060408385031215610aa657600080fd5b610aaf83610a77565b946020939093013593505050565b600080600060608486031215610ad257600080fd5b610adb84610a77565b9250610ae960208501610a77565b9150604084013590509250925092565b600060208284031215610b0b57600080fd5b5035919050565b600060208284031215610b2457600080fd5b610b2d82610a77565b9392505050565b600080600080600080600060e0888a031215610b4f57600080fd5b610b5888610a77565b9650610b6660208901610a77565b95506040880135945060608801359350608088013560ff81168114610b8a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bba57600080fd5b610bc383610a77565b9150610bd160208401610a77565b90509250929050565b600181811c90821680610bee57607f821691505b602082108103610c0e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561043457610434610c14565b8082018082111561043457610434610c14565b600080835481600182811c915080831680610c6c57607f831692505b60208084108203610c8b57634e487b7160e01b86526022600452602486fd5b818015610c9f5760018114610cb457610ce1565b60ff1986168952841515850289019650610ce1565b60008a81526020902060005b86811015610cd95781548b820152908501908301610cc0565b505084890196505b50949897505050505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205c31d86073784b1e39f51e9dce54214cc16270f1d510098b81351fb2f55bab8864736f6c63430008130033", - "sourceMap": "406:605:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:9;:7;:9::i;:::-;406:605;;;;;1018:18:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2448:211;;;;;;;;;;-1:-1:-1;2448:211:2;;;;;:::i;:::-;;:::i;:::-;;;1169:14:6;;1162:22;1144:41;;1132:2;1117:18;2448:211:2;1004:187:6;1291:26:2;;;;;;;;;;;;;;;;;;;1342:25:6;;;1330:2;1315:18;1291:26:2;1196:177:6;3044:592:2;;;;;;;;;;-1:-1:-1;3044:592:2;;;;;:::i;:::-;;:::i;760:182:4:-;;;;;;;;;;-1:-1:-1;760:182:4;;;;;:::i;:::-;;:::i;1070:31:2:-;;;;;;;;;;;;;;;;;;2068:4:6;2056:17;;;2038:36;;2026:2;2011:18;1070:31:2;1896:184:6;5314:177:2;;;;;;;;;;;;;:::i;1324:44::-;;;;;;;;;;-1:-1:-1;1324:44:2;;;;;:::i;:::-;;;;;;;;;;;;;;1738:41;;;;;;;;;;-1:-1:-1;1738:41:2;;;;;:::i;:::-;;;;;;;;;;;;;;1043:20;;;;;;;;;;;;;:::i;2665:373::-;;;;;;;;;;-1:-1:-1;2665:373:2;;;;;:::i;:::-;;:::i;621:133:4:-;;;:::i;3825:1483:2:-;;;;;;;;;;-1:-1:-1;3825:1483:2;;;;;:::i;:::-;;:::i;1375:64::-;;;;;;;;;;-1:-1:-1;1375:64:2;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;621:133:4;673:28;679:10;691:9;673:5;:28::i;:::-;717:30;;737:9;1342:25:6;;725:10:4;;717:30;;1330:2:6;1315:18;717:30:4;;;;;;;621:133::o;1018:18:2:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2448:211::-;2548:10;2522:4;2538:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2538:30:2;;;;;;;;;;:39;;;2593:37;2522:4;;2538:30;;2593:37;;;;2571:6;1342:25:6;;1330:2;1315:18;;1196:177;2593:37:2;;;;;;;;-1:-1:-1;2648:4:2;2448:211;;;;;:::o;3044:592::-;-1:-1:-1;;;;;3196:15:2;;3162:4;3196:15;;;:9;:15;;;;;;;;3212:10;3196:27;;;;;;;;-1:-1:-1;;3274:28:2;;3270:80;;3334:16;3344:6;3334:7;:16;:::i;:::-;-1:-1:-1;;;;;3304:15:2;;;;;;:9;:15;;;;;;;;3320:10;3304:27;;;;;;;:46;3270:80;-1:-1:-1;;;;;3361:15:2;;;;;;:9;:15;;;;;:25;;3380:6;;3361:15;:25;;3380:6;;3361:25;:::i;:::-;;;;-1:-1:-1;;;;;;;3532:13:2;;;;;;;:9;:13;;;;;;;:23;;;;;;3581:26;3532:13;;3581:26;;;-1:-1:-1;;;;;;;;;;;3581:26:2;;;3549:6;1342:25:6;;1330:2;1315:18;;1196:177;3581:26:2;;;;;;;;-1:-1:-1;3625:4:2;;3044:592;-1:-1:-1;;;;3044:592:2:o;760:182:4:-;819:25;825:10;837:6;819:5;:25::i;:::-;860:30;;1342:25:6;;;871:10:4;;860:30;;1330:2:6;1315:18;860:30:4;;;;;;;901:34;:10;928:6;901:26;:34::i;:::-;760:182;:::o;5314:177:2:-;5371:7;5414:16;5397:13;:33;:87;;5460:24;:22;:24::i;:::-;5390:94;;5314:177;:::o;5397:87::-;-1:-1:-1;5433:24:2;;5314:177::o;1043:20::-;;;;;;;:::i;2665:373::-;2761:10;2735:4;2751:21;;;:9;:21;;;;;:31;;2776:6;;2751:21;2735:4;;2751:31;;2776:6;;2751:31;:::i;:::-;;;;-1:-1:-1;;;;;;;2928:13:2;;;;;;:9;:13;;;;;;;:23;;;;;;2977:32;2986:10;;-1:-1:-1;;;;;;;;;;;2977:32:2;;;2945:6;1342:25:6;;1330:2;1315:18;;1196:177;3825:1483:2;4044:15;4032:8;:27;;4024:63;;;;-1:-1:-1;;;4024:63:2;;4273:2:6;4024:63:2;;;4255:21:6;4312:2;4292:18;;;4285:30;4351:25;4331:18;;;4324:53;4394:18;;4024:63:2;;;;;;;;;4252:24;4279:805;4415:18;:16;:18::i;:::-;-1:-1:-1;;;;;4860:13:2;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;4498:449;;4542:165;4498:449;;;4710:25:6;4789:18;;;4782:43;;;;4861:15;;;4841:18;;;4834:43;4893:18;;;4886:34;;;4936:19;;;4929:35;;;;4980:19;;;;4973:35;;;4498:449:2;;;;;;;;;;4682:19:6;;;4498:449:2;;;4459:514;;;;;;;;-1:-1:-1;;;4337:658:2;;;5277:27:6;5320:11;;;5313:27;;;;5356:12;;;5349:28;;;;5393:12;;4337:658:2;;;-1:-1:-1;;4337:658:2;;;;;;;;;4306:707;;4337:658;4306:707;;;;4279:805;;;;;;;;;5643:25:6;5716:4;5704:17;;5684:18;;;5677:45;5738:18;;;5731:34;;;5781:18;;;5774:34;;;5615:19;;4279:805:2;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4279:805:2;;-1:-1:-1;;4279:805:2;;;-1:-1:-1;;;;;;;5107:30:2;;;;;;:59;;;5161:5;-1:-1:-1;;;;;5141:25:2;:16;-1:-1:-1;;;;;5141:25:2;;5107:59;5099:86;;;;-1:-1:-1;;;5099:86:2;;6021:2:6;5099:86:2;;;6003:21:6;6060:2;6040:18;;;6033:30;-1:-1:-1;;;6079:18:6;;;6072:44;6133:18;;5099:86:2;5819:338:6;5099:86:2;-1:-1:-1;;;;;5200:27:2;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;5270:31;1342:25:6;;;5200:36:2;;5270:31;;;;;1315:18:6;5270:31:2;;;;;;;3825:1483;;;;;;;:::o;6137:325::-;6222:6;6207:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6374:13:2;;;;;;:9;:13;;;;;;;;:23;;;;;;6423:32;1342:25:6;;;-1:-1:-1;;;;;;;;;;;6423:32:2;1315:18:6;6423:32:2;;;;;;;;6137:325;;:::o;6468:328::-;-1:-1:-1;;;;;6540:15:2;;;;;;:9;:15;;;;;:25;;6559:6;;6540:15;:25;;6559:6;;6540:25;:::i;:::-;;;;-1:-1:-1;;6708:11:2;:21;;;;;;;6755:34;;1342:25:6;;;-1:-1:-1;;;;;;;6755:34:2;;;-1:-1:-1;;;;;;;;;;;6755:34:2;1330:2:6;1315:18;6755:34:2;1196:177:6;621:296:5;693:12;849:1;846;843;840;832:6;828:2;821:5;816:35;805:46;;879:7;871:39;;;;-1:-1:-1;;;871:39:5;;6494:2:6;871:39:5;;;6476:21:6;6533:2;6513:18;;;6506:30;-1:-1:-1;;;6552:18:6;;;6545:49;6611:18;;871:39:5;6292:343:6;871:39:5;683:234;621:296;;:::o;5497:446:2:-;5562:7;5659:95;5792:4;5776:22;;;;;;:::i;:::-;;;;;;;;;;5627:295;;;8166:25:6;;;;8207:18;;8200:34;;;;5820:14:2;8250:18:6;;;8243:34;5856:13:2;8293:18:6;;;8286:34;5899:4:2;8336:19:6;;;8329:61;8138:19;;5627:295:2;;;;;;;;;;;;5600:336;;;;;;5581:355;;5497:446;:::o;14:548:6:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:6;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:6:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:180::-;1770:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;-1:-1:-1;1862:23:6;;1711:180;-1:-1:-1;1711:180:6:o;2267:186::-;2326:6;2379:2;2367:9;2358:7;2354:23;2350:32;2347:52;;;2395:1;2392;2385:12;2347:52;2418:29;2437:9;2418:29;:::i;:::-;2408:39;2267:186;-1:-1:-1;;;2267:186:6:o;2458:693::-;2569:6;2577;2585;2593;2601;2609;2617;2670:3;2658:9;2649:7;2645:23;2641:33;2638:53;;;2687:1;2684;2677:12;2638:53;2710:29;2729:9;2710:29;:::i;:::-;2700:39;;2758:38;2792:2;2781:9;2777:18;2758:38;:::i;:::-;2748:48;;2843:2;2832:9;2828:18;2815:32;2805:42;;2894:2;2883:9;2879:18;2866:32;2856:42;;2948:3;2937:9;2933:19;2920:33;2993:4;2986:5;2982:16;2975:5;2972:27;2962:55;;3013:1;3010;3003:12;2962:55;2458:693;;;;-1:-1:-1;2458:693:6;;;;3036:5;3088:3;3073:19;;3060:33;;-1:-1:-1;3140:3:6;3125:19;;;3112:33;;2458:693;-1:-1:-1;;2458:693:6:o;3156:260::-;3224:6;3232;3285:2;3273:9;3264:7;3260:23;3256:32;3253:52;;;3301:1;3298;3291:12;3253:52;3324:29;3343:9;3324:29;:::i;:::-;3314:39;;3372:38;3406:2;3395:9;3391:18;3372:38;:::i;:::-;3362:48;;3156:260;;;;;:::o;3421:380::-;3500:1;3496:12;;;;3543;;;3564:61;;3618:4;3610:6;3606:17;3596:27;;3564:61;3671:2;3663:6;3660:14;3640:18;3637:38;3634:161;;3717:10;3712:3;3708:20;3705:1;3698:31;3752:4;3749:1;3742:15;3780:4;3777:1;3770:15;3634:161;;3421:380;;;:::o;3806:127::-;3867:10;3862:3;3858:20;3855:1;3848:31;3898:4;3895:1;3888:15;3922:4;3919:1;3912:15;3938:128;4005:9;;;4026:11;;;4023:37;;;4040:18;;:::i;6162:125::-;6227:9;;;6248:10;;;6245:36;;;6261:18;;:::i;6769:1133::-;6899:3;6928:1;6961:6;6955:13;6991:3;7013:1;7041:9;7037:2;7033:18;7023:28;;7101:2;7090:9;7086:18;7123;7113:61;;7167:4;7159:6;7155:17;7145:27;;7113:61;7193:2;7241;7233:6;7230:14;7210:18;7207:38;7204:165;;-1:-1:-1;;;7268:33:6;;7324:4;7321:1;7314:15;7354:4;7275:3;7342:17;7204:165;7385:18;7412:133;;;;7559:1;7554:323;;;;7378:499;;7412:133;-1:-1:-1;;7445:24:6;;7433:37;;7518:14;;7511:22;7499:35;;7490:45;;;-1:-1:-1;7412:133:6;;7554:323;6716:1;6709:14;;;6753:4;6740:18;;7652:1;7666:165;7680:6;7677:1;7674:13;7666:165;;;7758:14;;7745:11;;;7738:35;7801:16;;;;7695:10;;7666:165;;;7670:3;;7860:6;7855:3;7851:16;7844:23;;7378:499;-1:-1:-1;7893:3:6;;6769:1133;-1:-1:-1;;;;;;;;6769:1133:6:o", - "linkReferences": {}, - "immutableReferences": { - "1459": [ - { - "start": 454, - "length": 32 - } - ], - "1473": [ - { - "start": 1386, - "length": 32 - } - ], - "1475": [ - { - "start": 1439, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "deposit()": "d0e30db0", - "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", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"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\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/WETH.sol)Inspired by WETH9 (https://github.com/dapphub/ds-weth/blob/master/src/weth9.sol)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimalist and modern Wrapped Ether implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/tokens/WETH.sol\":\"WETH\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/portfolio/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":nugu/=lib/portfolio/lib/nugu/\",\":openzeppelin-contracts/=lib/portfolio/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/portfolio/lib/openzeppelin-contracts/contracts/\",\":portfolio/=lib/portfolio/contracts/\",\":solmate/=lib/solmate/src/\",\":solstat/=lib/portfolio/lib/solstat/src/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0x43aa1509bb753f053143530705d9c4eee415691d26a4779769bf028a74e6ac69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb440672ebad7d487c1600e406e140fd1ffc4bd7520c86b5709183ca2602da58\",\"dweb:/ipfs/QmNgZaBoAZwnwm4mTL1cUZnMtvt1iZnruMnfpJnDu6upuc\"]},\"lib/solmate/src/tokens/WETH.sol\":{\"keccak256\":\"0x9b7c1a6a154f8298c26ca09a868d5352de6006c07091dd9a90e5d4069a3a57b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c2507104931e101e5fa0f8e80b352e04f1ad7a90eb1dbfbce59f956bfae7272\",\"dweb:/ipfs/Qma89Py3L5UmsqtkjXQf99PnddFkYAqnQUd9siQNRdDeMH\"]},\"lib/solmate/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x5f2e1158c68c1f3d15b80e8a7dd92b6849f873066969562ad33c0abb80e536ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c829a9d77ae852541d7ed1492cad93c371907f45b8f85134683b76ec62d4969\",\"dweb:/ipfs/QmX5dry5ofeGfGaC8GpDyCx3RHYf3CFpVftc517PVkuRSL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawal", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": [], - "stateMutability": "payable", - "type": "function", - "name": "deposit" - }, - { - "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" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "ds-test/=lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/portfolio/lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "nugu/=lib/portfolio/lib/nugu/", - "openzeppelin-contracts/=lib/portfolio/lib/openzeppelin-contracts/", - "openzeppelin/=lib/portfolio/lib/openzeppelin-contracts/contracts/", - "portfolio/=lib/portfolio/contracts/", - "solmate/=lib/solmate/src/", - "solstat/=lib/portfolio/lib/solstat/src/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "lib/solmate/src/tokens/WETH.sol": "WETH" - }, - "libraries": {} - }, - "sources": { - "lib/solmate/src/tokens/ERC20.sol": { - "keccak256": "0x43aa1509bb753f053143530705d9c4eee415691d26a4779769bf028a74e6ac69", - "urls": [ - "bzz-raw://fb440672ebad7d487c1600e406e140fd1ffc4bd7520c86b5709183ca2602da58", - "dweb:/ipfs/QmNgZaBoAZwnwm4mTL1cUZnMtvt1iZnruMnfpJnDu6upuc" - ], - "license": "MIT" - }, - "lib/solmate/src/tokens/WETH.sol": { - "keccak256": "0x9b7c1a6a154f8298c26ca09a868d5352de6006c07091dd9a90e5d4069a3a57b0", - "urls": [ - "bzz-raw://3c2507104931e101e5fa0f8e80b352e04f1ad7a90eb1dbfbce59f956bfae7272", - "dweb:/ipfs/Qma89Py3L5UmsqtkjXQf99PnddFkYAqnQUd9siQNRdDeMH" - ], - "license": "MIT" - }, - "lib/solmate/src/utils/SafeTransferLib.sol": { - "keccak256": "0x5f2e1158c68c1f3d15b80e8a7dd92b6849f873066969562ad33c0abb80e536ff", - "urls": [ - "bzz-raw://8c829a9d77ae852541d7ed1492cad93c371907f45b8f85134683b76ec62d4969", - "dweb:/ipfs/QmX5dry5ofeGfGaC8GpDyCx3RHYf3CFpVftc517PVkuRSL" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 1455, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 1457, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "symbol", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - }, - { - "astId": 1461, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "totalSupply", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 1465, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "balanceOf", - "offset": 0, - "slot": "3", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 1471, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "allowance", - "offset": 0, - "slot": "4", - "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" - }, - { - "astId": 1479, - "contract": "lib/solmate/src/tokens/WETH.sol:WETH", - "label": "nonces", - "offset": 0, - "slot": "5", - "type": "t_mapping(t_address,t_uint256)" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_mapping(t_address,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "lib/solmate/src/tokens/WETH.sol", - "id": 2466, - "exportedSymbols": { - "ERC20": [ - 1822 - ], - "SafeTransferLib": [ - 2550 - ], - "WETH": [ - 2465 - ] - }, - "nodeType": "SourceUnit", - "src": "32:980:4", - "nodes": [ - { - "id": 2388, - "nodeType": "PragmaDirective", - "src": "32:24:4", - "nodes": [], - "literals": [ - "solidity", - ">=", - "0.8", - ".0" - ] - }, - { - "id": 2390, - "nodeType": "ImportDirective", - "src": "58:34:4", - "nodes": [], - "absolutePath": "lib/solmate/src/tokens/ERC20.sol", - "file": "./ERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 2466, - "sourceUnit": 1823, - "symbolAliases": [ - { - "foreign": { - "id": 2389, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "66:5:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 2392, - "nodeType": "ImportDirective", - "src": "94:61:4", - "nodes": [], - "absolutePath": "lib/solmate/src/utils/SafeTransferLib.sol", - "file": "../utils/SafeTransferLib.sol", - "nameLocation": "-1:-1:-1", - "scope": 2466, - "sourceUnit": 2551, - "symbolAliases": [ - { - "foreign": { - "id": 2391, - "name": "SafeTransferLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2550, - "src": "102:15:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 2465, - "nodeType": "ContractDefinition", - "src": "406:605:4", - "nodes": [ - { - "id": 2401, - "nodeType": "UsingForDirective", - "src": "464:34:4", - "nodes": [], - "global": false, - "libraryName": { - "id": 2399, - "name": "SafeTransferLib", - "nameLocations": [ - "470:15:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2550, - "src": "470:15:4" - }, - "typeName": { - "id": 2400, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "490:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 2407, - "nodeType": "EventDefinition", - "src": "504:52:4", - "nodes": [], - "anonymous": false, - "eventSelector": "e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", - "name": "Deposit", - "nameLocation": "510:7:4", - "parameters": { - "id": 2406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2403, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "534:4:4", - "nodeType": "VariableDeclaration", - "scope": 2407, - "src": "518:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "518:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2405, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "548:6:4", - "nodeType": "VariableDeclaration", - "scope": 2407, - "src": "540:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2404, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "540:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "517:38:4" - } - }, - { - "id": 2413, - "nodeType": "EventDefinition", - "src": "562:53:4", - "nodes": [], - "anonymous": false, - "eventSelector": "7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", - "name": "Withdrawal", - "nameLocation": "568:10:4", - "parameters": { - "id": 2412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2409, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "595:2:4", - "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "579:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "579:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2411, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "607:6:4", - "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "599:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "599:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "578:36:4" - } - }, - { - "id": 2431, - "nodeType": "FunctionDefinition", - "src": "621:133:4", - "nodes": [], - "body": { - "id": 2430, - "nodeType": "Block", - "src": "663:91:4", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "679:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "683:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "679:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2419, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "691:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "695:5:4", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "691:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2416, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "673:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "673:28:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2422, - "nodeType": "ExpressionStatement", - "src": "673:28:4" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 2424, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "725:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "729:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "725:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2426, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "737:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "741:5:4", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "737:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2423, - "name": "Deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2407, - "src": "717:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "717:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2429, - "nodeType": "EmitStatement", - "src": "712:35:4" - } - ] - }, - "functionSelector": "d0e30db0", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "nameLocation": "630:7:4", - "parameters": { - "id": 2414, - "nodeType": "ParameterList", - "parameters": [], - "src": "637:2:4" - }, - "returnParameters": { - "id": 2415, - "nodeType": "ParameterList", - "parameters": [], - "src": "663:0:4" - }, - "scope": 2465, - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "id": 2457, - "nodeType": "FunctionDefinition", - "src": "760:182:4", - "nodes": [], - "body": { - "id": 2456, - "nodeType": "Block", - "src": "809:133:4", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2437, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "825:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "829:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "825:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2439, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "837:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2436, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1821, - "src": "819:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "819:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2441, - "nodeType": "ExpressionStatement", - "src": "819:25:4" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 2443, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "871:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "875:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "871:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2445, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "883:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2442, - "name": "Withdrawal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "860:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "860:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2447, - "nodeType": "EmitStatement", - "src": "855:35:4" - }, - { - "expression": { - "arguments": [ - { - "id": 2453, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "928:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "expression": { - "id": 2448, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "901:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "905:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "901:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "912:15:4", - "memberName": "safeTransferETH", - "nodeType": "MemberAccess", - "referencedDeclaration": 2487, - "src": "901:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$attached_to$_t_address_$", - "typeString": "function (address,uint256)" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "901:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2455, - "nodeType": "ExpressionStatement", - "src": "901:34:4" - } - ] - }, - "functionSelector": "2e1a7d4d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "769:8:4", - "parameters": { - "id": 2434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2433, - "mutability": "mutable", - "name": "amount", - "nameLocation": "786:6:4", - "nodeType": "VariableDeclaration", - "scope": 2457, - "src": "778:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "778:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "777:16:4" - }, - "returnParameters": { - "id": 2435, - "nodeType": "ParameterList", - "parameters": [], - "src": "809:0:4" - }, - "scope": 2465, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 2464, - "nodeType": "FunctionDefinition", - "src": "948:61:4", - "nodes": [], - "body": { - "id": 2463, - "nodeType": "Block", - "src": "983:26:4", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2460, - "name": "deposit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "993:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "993:9:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2462, - "nodeType": "ExpressionStatement", - "src": "993:9:4" - } - ] - }, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 2458, - "nodeType": "ParameterList", - "parameters": [], - "src": "955:2:4" - }, - "returnParameters": { - "id": 2459, - "nodeType": "ParameterList", - "parameters": [], - "src": "983:0:4" - }, - "scope": 2465, - "stateMutability": "payable", - "virtual": true, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "arguments": [ - { - "hexValue": "57726170706564204574686572", - "id": 2395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "429:15:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00cd3d46df44f2cbb950cf84eb2e92aa2ddd23195b1a009173ea59a063357ed3", - "typeString": "literal_string \"Wrapped Ether\"" - }, - "value": "Wrapped Ether" - }, - { - "hexValue": "57455448", - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "446:6:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8", - "typeString": "literal_string \"WETH\"" - }, - "value": "WETH" - }, - { - "hexValue": "3138", - "id": 2397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "454:2:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "baseName": { - "id": 2394, - "name": "ERC20", - "nameLocations": [ - "423:5:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1822, - "src": "423:5:4" - }, - "id": 2398, - "nodeType": "InheritanceSpecifier", - "src": "423:34:4" - } - ], - "canonicalName": "WETH", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2393, - "nodeType": "StructuredDocumentation", - "src": "157:249:4", - "text": "@notice Minimalist and modern Wrapped Ether implementation.\n @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/WETH.sol)\n @author Inspired by WETH9 (https://github.com/dapphub/ds-weth/blob/master/src/weth9.sol)" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 2465, - 1822 - ], - "name": "WETH", - "nameLocation": "415:4:4", - "scope": 2466, - "usedErrors": [] - } - ], - "license": "MIT" - }, - "id": 4 - } \ No newline at end of file diff --git a/fork_example/test.json b/fork_example/test.json deleted file mode 100644 index d9660e1..0000000 --- a/fork_example/test.json +++ /dev/null @@ -1 +0,0 @@ -{"meta":{"weth":{"address":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","artifacts_path":"fork_example/WETH.json","mappings":{"balanceOf":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"]}}},"raw":{"0xd8da6bf26964af9d7eed9e03e53415d37aa96045":[{"balance":"0x32a256c95f0e218155","nonce":1130,"code_hash":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","code":{"bytecode":"0x","state":"Raw"}},{}],"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":[{"balance":"0x295f9676bf9b23ace3959","nonce":1,"code_hash":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23","code":{"bytecode":"0x6060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029","state":"Raw"}},{"3":"0","4":"0","5":"0","2":"18","26503682303622372439135079884578270057785794679663935708947492083441471802570":"34890707020710109111","0":"39553310892875263560936207548857176834471854732421237974622739861269930573850","1":"39473711962023174749424659199615060097653232135126263878786656434573155500040"}]},"externally_owned_accounts":{"vitalik":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}} \ No newline at end of file diff --git a/fork_example/weth_fork_config.toml b/fork_example/weth_fork_config.toml deleted file mode 100644 index 7326055..0000000 --- a/fork_example/weth_fork_config.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Basic configuration -output_directory = "fork_example/" -output_filename = "test.json" -provider = "https://eth.llamarpc.com" -block_number = 18228556 - -# EOAs -[externally_owned_accounts] -vitalik = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" # vitalik.eth as of 10/2/2023 - -# Contracts stored in a mapping -# Try this out with the weth contract -[contracts.weth] -address = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" -artifacts_path = "fork_example/WETH.json" - -[contracts.weth.mappings] -balanceOf = [ - "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", # vitalik.eth as of 10/2/2023 -] \ No newline at end of file