diff --git a/.gitignore b/.gitignore index a7caa8276..d25530fa0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ .DS_Store proc-compose.temp.log methods/guest/Cargo.lock +protocol-units/bridge/contracts/out/* +protocol-units/bridge/contracts/cache/* protocol-units/bridge/move-modules/build/* .idea/ target/ diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json new file mode 100644 index 000000000..83c8b50c5 --- /dev/null +++ b/cache/solidity-files-cache.json @@ -0,0 +1 @@ +{"_format":"ethers-rs-sol-cache-3","paths":{"artifacts":"out","build_infos":"out/build-info","sources":"src","tests":"test","scripts":"script","libraries":["lib"]},"files":{"protocol-units/bridge/contracts/src/WETH9.sol":{"lastModificationDate":1719913303115,"contentHash":"30d8ed71e435253bfb1585a363d9ced3","sourceName":"protocol-units/bridge/contracts/src/WETH9.sol","solcConfig":{"settings":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}}},"imports":[],"versionRequirement":"^0.8.22","artifacts":{"WETH9":{"0.8.26+commit.8a97fa7a.Darwin.appleclang":"WETH9.sol/WETH9.json"}}}}} \ No newline at end of file diff --git a/out/WETH9.sol/WETH9.json b/out/WETH9.sol/WETH9.json new file mode 100644 index 000000000..e048d08ec --- /dev/null +++ b/out/WETH9.sol/WETH9.json @@ -0,0 +1 @@ +{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"allowance","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"guy","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"","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":"deposit","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"dst","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"src","type":"address","internalType":"address"},{"name":"dst","type":"address","internalType":"address"},{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"wad","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"guy","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"dst","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"dst","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawal","inputs":[{"name":"src","type":"address","indexed":true,"internalType":"address"},{"name":"wad","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60c0604052600d60809081526c2bb930b83832b21022ba3432b960991b60a05260009061002c9082610114565b506040805180820190915260048152630ae8aa8960e31b60208201526001906100559082610114565b506002805460ff1916601217905534801561006f57600080fd5b506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009f57607f821691505b6020821081036100bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010f57806000526020600020601f840160051c810160208510156100ec5750805b601f840160051c820191505b8181101561010c57600081556001016100f8565b50505b505050565b81516001600160401b0381111561012d5761012d610075565b6101418161013b845461008b565b846100c5565b6020601f821160018114610175576000831561015d5750848201515b600019600385901b1c1916600184901b17845561010c565b600084815260208120601f198516915b828110156101a55787850151825560209485019460019092019101610185565b50848210156101c35786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610870806101e16000396000f3fe6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461016c57806370a082311461019857806395d89b41146101c5578063a9059cbb146101da578063d0e30db0146101fa578063dd62ed3e1461020257600080fd5b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461010f57806323b872dd1461012c5780632e1a7d4d1461014c57600080fd5b366100af576100ad61023a565b005b600080fd5b3480156100c057600080fd5b506100c9610295565b6040516100d6919061068c565b60405180910390f35b3480156100eb57600080fd5b506100ff6100fa3660046106f6565b610323565b60405190151581526020016100d6565b34801561011b57600080fd5b50475b6040519081526020016100d6565b34801561013857600080fd5b506100ff610147366004610720565b610390565b34801561015857600080fd5b506100ad61016736600461075d565b61058b565b34801561017857600080fd5b506002546101869060ff1681565b60405160ff90911681526020016100d6565b3480156101a457600080fd5b5061011e6101b3366004610776565b60036020526000908152604090205481565b3480156101d157600080fd5b506100c961066b565b3480156101e657600080fd5b506100ff6101f53660046106f6565b610678565b6100ad61023a565b34801561020e57600080fd5b5061011e61021d366004610791565b600460209081526000928352604080842090915290825290205481565b33600090815260036020526040812080543492906102599084906107da565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b600080546102a2906107ed565b80601f01602080910402602001604051908101604052809291908181526020018280546102ce906107ed565b801561031b5780601f106102f05761010080835404028352916020019161031b565b820191906000526020600020905b8154815290600101906020018083116102fe57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061037e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600360205260408120548211156103f45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b038416331480159061043257506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b156104d8576001600160a01b038416600090815260046020908152604080832033845290915290205482111561049f5760405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b60448201526064016103eb565b6001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104d2908490610827565b90915550505b6001600160a01b03841660009081526003602052604081208054849290610500908490610827565b90915550506001600160a01b0383166000908152600360205260408120805484929061052d9084906107da565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161057991815260200190565b60405180910390a35060019392505050565b336000908152600360205260409020548111156105e15760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016103eb565b3360009081526003602052604081208054839290610600908490610827565b9091555050604051339082156108fc029083906000818181858888f19350505050158015610632573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600180546102a2906107ed565b6000610685338484610390565b9392505050565b602081526000825180602084015260005b818110156106ba576020818601810151604086840101520161069d565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b929592945050506040919091013590565b60006020828403121561076f57600080fd5b5035919050565b60006020828403121561078857600080fd5b610685826106da565b600080604083850312156107a457600080fd5b6107ad836106da565b91506107bb602084016106da565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561038a5761038a6107c4565b600181811c9082168061080157607f821691505b60208210810361082157634e487b7160e01b600052602260045260246000fd5b50919050565b8181038181111561038a5761038a6107c456fea264697066735822122083e6d1dfb18c7a4953c9ec852d6b89cc446773e4ee001c4108c7be8fee0805e964736f6c634300081a0033","sourceMap":"476:40:0:-:0;455:1895;476:40;;455:1895;476:40;;;-1:-1:-1;;;476:40:0;;-1:-1:-1;;476:40:0;;-1:-1:-1;476:40:0;:::i;:::-;-1:-1:-1;522:31:0;;;;;;;;;;;;-1:-1:-1;;;522:31:0;;;;;;;;;;:::i;:::-;-1:-1:-1;559:27:0;;;-1:-1:-1;;559:27:0;584:2;559:27;;;455:1895;;;;;;;;;;;;14:127:1;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:518::-;759:2;754:3;751:11;748:421;;;795:5;792:1;785:16;839:4;836:1;826:18;909:2;897:10;893:19;890:1;886:27;880:4;876:38;945:4;933:10;930:20;927:47;;;-1:-1:-1;968:4:1;927:47;1023:2;1018:3;1014:12;1011:1;1007:20;1001:4;997:31;987:41;;1078:81;1096:2;1089:5;1086:13;1078:81;;;1155:1;1141:16;;1122:1;1111:13;1078:81;;;1082:3;;748:421;657:518;;;:::o;1351:1299::-;1471:10;;-1:-1:-1;;;;;1493:30:1;;1490:56;;;1526:18;;:::i;:::-;1555:97;1645:6;1605:38;1637:4;1631:11;1605:38;:::i;:::-;1599:4;1555:97;:::i;:::-;1701:4;1732:2;1721:14;;1749:1;1744:649;;;;2437:1;2454:6;2451:89;;;-1:-1:-1;2506:19:1;;;2500:26;2451:89;-1:-1:-1;;1308:1:1;1304:11;;;1300:24;1296:29;1286:40;1332:1;1328:11;;;1283:57;2553:81;;1714:930;;1744:649;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1780:20:1;;;1898:222;1912:7;1909:1;1906:14;1898:222;;;1994:19;;;1988:26;1973:42;;2101:4;2086:20;;;;2054:1;2042:14;;;;1928:12;1898:222;;;1902:3;2148:6;2139:7;2136:19;2133:201;;;2209:19;;;2203:26;-1:-1:-1;;2292:1:1;2288:14;;;2304:3;2284:24;2280:37;2276:42;2261:58;2246:74;;2133:201;-1:-1:-1;;;;2380:1:1;2364:14;;;2360:22;2347:36;;-1:-1:-1;1351:1299:1:o;:::-;455:1895:0;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce5671461016c57806370a082311461019857806395d89b41146101c5578063a9059cbb146101da578063d0e30db0146101fa578063dd62ed3e1461020257600080fd5b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461010f57806323b872dd1461012c5780632e1a7d4d1461014c57600080fd5b366100af576100ad61023a565b005b600080fd5b3480156100c057600080fd5b506100c9610295565b6040516100d6919061068c565b60405180910390f35b3480156100eb57600080fd5b506100ff6100fa3660046106f6565b610323565b60405190151581526020016100d6565b34801561011b57600080fd5b50475b6040519081526020016100d6565b34801561013857600080fd5b506100ff610147366004610720565b610390565b34801561015857600080fd5b506100ad61016736600461075d565b61058b565b34801561017857600080fd5b506002546101869060ff1681565b60405160ff90911681526020016100d6565b3480156101a457600080fd5b5061011e6101b3366004610776565b60036020526000908152604090205481565b3480156101d157600080fd5b506100c961066b565b3480156101e657600080fd5b506100ff6101f53660046106f6565b610678565b6100ad61023a565b34801561020e57600080fd5b5061011e61021d366004610791565b600460209081526000928352604080842090915290825290205481565b33600090815260036020526040812080543492906102599084906107da565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b600080546102a2906107ed565b80601f01602080910402602001604051908101604052809291908181526020018280546102ce906107ed565b801561031b5780601f106102f05761010080835404028352916020019161031b565b820191906000526020600020905b8154815290600101906020018083116102fe57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061037e9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600360205260408120548211156103f45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b038416331480159061043257506001600160a01b038416600090815260046020908152604080832033845290915290205460001914155b156104d8576001600160a01b038416600090815260046020908152604080832033845290915290205482111561049f5760405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b60448201526064016103eb565b6001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104d2908490610827565b90915550505b6001600160a01b03841660009081526003602052604081208054849290610500908490610827565b90915550506001600160a01b0383166000908152600360205260408120805484929061052d9084906107da565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161057991815260200190565b60405180910390a35060019392505050565b336000908152600360205260409020548111156105e15760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016103eb565b3360009081526003602052604081208054839290610600908490610827565b9091555050604051339082156108fc029083906000818181858888f19350505050158015610632573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600180546102a2906107ed565b6000610685338484610390565b9392505050565b602081526000825180602084015260005b818110156106ba576020818601810151604086840101520161069d565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146106f157600080fd5b919050565b6000806040838503121561070957600080fd5b610712836106da565b946020939093013593505050565b60008060006060848603121561073557600080fd5b61073e846106da565b925061074c602085016106da565b929592945050506040919091013590565b60006020828403121561076f57600080fd5b5035919050565b60006020828403121561078857600080fd5b610685826106da565b600080604083850312156107a457600080fd5b6107ad836106da565b91506107bb602084016106da565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561038a5761038a6107c4565b600181811c9082168061080157607f821691505b60208210810361082157634e487b7160e01b600052602260045260246000fd5b50919050565b8181038181111561038a5761038a6107c456fea264697066735822122083e6d1dfb18c7a4953c9ec852d6b89cc446773e4ee001c4108c7be8fee0805e964736f6c634300081a0033","sourceMap":"455:1895:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1025:9;:7;:9::i;:::-;455:1895;;;;;476:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1526:177;;;;;;;;;;-1:-1:-1;1526:177:0;;;;;:::i;:::-;;:::i;:::-;;;1194:14:1;;1187:22;1169:41;;1157:2;1142:18;1526:177:0;1029:187:1;1425:95:0;;;;;;;;;;-1:-1:-1;1492:21:0;1425:95;;;1367:25:1;;;1355:2;1340:18;1425:95:0;1221:177:1;1836:512:0;;;;;;;;;;-1:-1:-1;1836:512:0;;;;;:::i;:::-;;:::i;1183:236::-;;;;;;;;;;-1:-1:-1;1183:236:0;;;;;:::i;:::-;;:::i;559:27::-;;;;;;;;;;-1:-1:-1;559:27:0;;;;;;;;;;;2185:4:1;2173:17;;;2155:36;;2143:2;2128:18;559:27:0;2013:184:1;845:65:0;;;;;;;;;;-1:-1:-1;845:65:0;;;;;:::i;:::-;;;;;;;;;;;;;;522:31;;;;;;;;;;;;;:::i;1709:121::-;;;;;;;;;;-1:-1:-1;1709:121:0;;;;;:::i;:::-;;:::i;1047:130::-;;;:::i;916:65::-;;;;;;;;;;-1:-1:-1;916:65:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1047:130;1101:10;1091:21;;;;:9;:21;;;;;:34;;1116:9;;1091:21;:34;;1116:9;;1091:34;:::i;:::-;;;;-1:-1:-1;;1140:30:0;;1160:9;1367:25:1;;1148:10:0;;1140:30;;1355:2:1;1340:18;1140:30:0;;;;;;;1047:130::o;476:40::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1526:177::-;1608:10;1582:4;1598:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;1598:26:0;;;;;;;;;;:32;;;1645:30;1582:4;;1598:26;;1645:30;;;;1627:3;1367:25:1;;1355:2;1340:18;;1221:177;1645:30:0;;;;;;;;-1:-1:-1;1692:4:0;1526:177;;;;;:::o;1836:512::-;-1:-1:-1;;;;;1954:14:0;;1926:4;1954:14;;;:9;:14;;;;;;:21;-1:-1:-1;1954:21:0;1946:54;;;;-1:-1:-1;;;1946:54:0;;3507:2:1;1946:54:0;;;3489:21:1;3546:2;3526:18;;;3519:30;-1:-1:-1;;;3565:18:1;;;3558:50;3625:18;;1946:54:0;;;;;;;;;-1:-1:-1;;;;;2015:17:0;;2022:10;2015:17;;;;:65;;-1:-1:-1;;;;;;2036:14:0;;;;;;:9;:14;;;;;;;;2051:10;2036:26;;;;;;;;-1:-1:-1;;2036:44:0;;2015:65;2011:207;;;-1:-1:-1;;;;;2104:14:0;;;;;;:9;:14;;;;;;;;2119:10;2104:26;;;;;;;;:33;-1:-1:-1;2104:33:0;2096:64;;;;-1:-1:-1;;;2096:64:0;;3856:2:1;2096:64:0;;;3838:21:1;3895:2;3875:18;;;3868:30;-1:-1:-1;;;3914:18:1;;;3907:48;3972:18;;2096:64:0;3654:342:1;2096:64:0;-1:-1:-1;;;;;2174:14:0;;;;;;:9;:14;;;;;;;;2189:10;2174:26;;;;;;;:33;;2204:3;;2174:14;:33;;2204:3;;2174:33;:::i;:::-;;;;-1:-1:-1;;2011:207:0;-1:-1:-1;;;;;2228:14:0;;;;;;:9;:14;;;;;:21;;2246:3;;2228:14;:21;;2246:3;;2228:21;:::i;:::-;;;;-1:-1:-1;;;;;;;2259:14:0;;;;;;:9;:14;;;;;:21;;2277:3;;2259:14;:21;;2277:3;;2259:21;:::i;:::-;;;;;;;;2310:3;-1:-1:-1;;;;;2296:23:0;2305:3;-1:-1:-1;;;;;2296:23:0;;2315:3;2296:23;;;;1367:25:1;;1355:2;1340:18;;1221:177;2296:23:0;;;;;;;;-1:-1:-1;2337:4:0;1836:512;;;;;:::o;1183:236::-;1246:10;1236:21;;;;:9;:21;;;;;;:28;-1:-1:-1;1236:28:0;1228:61;;;;-1:-1:-1;;;1228:61:0;;3507:2:1;1228:61:0;;;3489:21:1;3546:2;3526:18;;;3519:30;-1:-1:-1;;;3565:18:1;;;3558:50;3625:18;;1228:61:0;3305:344:1;1228:61:0;1309:10;1299:21;;;;:9;:21;;;;;:28;;1324:3;;1299:21;:28;;1324:3;;1299:28;:::i;:::-;;;;-1:-1:-1;;1337:33:0;;1345:10;;1337:33;;;;;1366:3;;1337:33;;;;1366:3;1345:10;1337:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1385:27:0;;1367:25:1;;;1396:10:0;;1385:27;;1355:2:1;1340:18;1385:27:0;;;;;;;1183:236;:::o;522:31::-;;;;;;;:::i;1709:121::-;1766:4;1789:34;1802:10;1814:3;1819;1789:12;:34::i;:::-;1782:41;1709:121;-1:-1:-1;;;1709:121:0:o;14:527:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:173::-;614:20;;-1:-1:-1;;;;;663:31:1;;653:42;;643:70;;709:1;706;699:12;643:70;546:173;;;:::o;724:300::-;792:6;800;853:2;841:9;832:7;828:23;824:32;821:52;;;869:1;866;859:12;821:52;892:29;911:9;892:29;:::i;:::-;882:39;990:2;975:18;;;;962:32;;-1:-1:-1;;;724:300:1:o;1403:374::-;1480:6;1488;1496;1549:2;1537:9;1528:7;1524:23;1520:32;1517:52;;;1565:1;1562;1555:12;1517:52;1588:29;1607:9;1588:29;:::i;:::-;1578:39;;1636:38;1670:2;1659:9;1655:18;1636:38;:::i;:::-;1403:374;;1626:48;;-1:-1:-1;;;1743:2:1;1728:18;;;;1715:32;;1403:374::o;1782:226::-;1841:6;1894:2;1882:9;1873:7;1869:23;1865:32;1862:52;;;1910:1;1907;1900:12;1862:52;-1:-1:-1;1955:23:1;;1782:226;-1:-1:-1;1782:226:1:o;2202:186::-;2261:6;2314:2;2302:9;2293:7;2289:23;2285:32;2282:52;;;2330:1;2327;2320:12;2282:52;2353:29;2372:9;2353:29;:::i;2393:260::-;2461:6;2469;2522:2;2510:9;2501:7;2497:23;2493:32;2490:52;;;2538:1;2535;2528:12;2490:52;2561:29;2580:9;2561:29;:::i;:::-;2551:39;;2609:38;2643:2;2632:9;2628:18;2609:38;:::i;:::-;2599:48;;2393:260;;;;;:::o;2658:127::-;2719:10;2714:3;2710:20;2707:1;2700:31;2750:4;2747:1;2740:15;2774:4;2771:1;2764:15;2790:125;2855:9;;;2876:10;;;2873:36;;;2889:18;;:::i;2920:380::-;2999:1;2995:12;;;;3042;;;3063:61;;3117:4;3109:6;3105:17;3095:27;;3063:61;3170:2;3162:6;3159:14;3139:18;3136:38;3133:161;;3216:10;3211:3;3207:20;3204:1;3197:31;3251:4;3248:1;3241:15;3279:4;3276:1;3269:15;3133:161;;2920:380;;;:::o;4001:128::-;4068:9;;;4089:11;;;4086:37;;;4103:18;;:::i","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","deposit()":"d0e30db0","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(uint256)":"2e1a7d4d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"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\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"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\":[],\"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\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"protocol-units/bridge/contracts/src/WETH9.sol\":\"WETH9\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"protocol-units/bridge/contracts/src/WETH9.sol\":{\"keccak256\":\"0xc63e3968b0d4de42af1d597897b2e60c1f29b6874e9129ab15127a7f57c0c6fa\",\"urls\":[\"bzz-raw://cb5f5b9a20236814999614a1fc5704ed61dc9d55ecc0084728df060c4955f853\",\"dweb:/ipfs/QmV5btizG9qVXs559eZsE1mEQhDz911UnyBrL4mAUeyiQU\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"guy","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"address","name":"dst","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"src","type":"address","indexed":true},{"internalType":"uint256","name":"wad","type":"uint256","indexed":false}],"type":"event","name":"Withdrawal","anonymous":false},{"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":"guy","type":"address"},{"internalType":"uint256","name":"wad","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":[],"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":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"wad","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":[],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"protocol-units/bridge/contracts/src/WETH9.sol":"WETH9"},"evmVersion":"paris","libraries":{}},"sources":{"protocol-units/bridge/contracts/src/WETH9.sol":{"keccak256":"0xc63e3968b0d4de42af1d597897b2e60c1f29b6874e9129ab15127a7f57c0c6fa","urls":["bzz-raw://cb5f5b9a20236814999614a1fc5704ed61dc9d55ecc0084728df060c4955f853","dweb:/ipfs/QmV5btizG9qVXs559eZsE1mEQhDz911UnyBrL4mAUeyiQU"],"license":null}},"version":1},"id":0} \ No newline at end of file diff --git a/protocol-units/bridge/e2e/src/main.rs b/protocol-units/bridge/e2e/src/main.rs index 5341e60d6..e1b3843ab 100644 --- a/protocol-units/bridge/e2e/src/main.rs +++ b/protocol-units/bridge/e2e/src/main.rs @@ -11,7 +11,12 @@ async fn main() -> Result<()> { let config_path = "path/to/config.json"; // 1st Anvil test address let initiator_address = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"; + let initiator_priv_key = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"; let recipient_address = "0x123"; // dummy val, this should be a movement address + let rpc_url = "http://localhost:8545"; + let weth_path = "protocol-units/bridge/contracts/src/WETH9.sol:WETH9"; + let initiator_path = + "protocol-units/bridge/contracts/src/AtomicBridgeInitiator.sol:AtomicBridgeInitiator"; let hash_lock = "forty-two".as_bytes(); let hash_lock_bytes = keccak_hash::keccak(hash_lock); @@ -25,6 +30,7 @@ async fn main() -> Result<()> { let current_dir = env::current_dir()?; println!("Current dir: {:?}", current_dir); + // Build contracts let build_output = TokioCommand::new("forge") .args(&["build"]) .current_dir("protocol-units/bridge/contracts") //navigate to contracts dir @@ -38,15 +44,23 @@ async fn main() -> Result<()> { println!("{}", String::from_utf8_lossy(&build_output.stdout)); } + //Start Anvil let _ = TokioCommand::new("anvil").stdout(Stdio::null()).stderr(Stdio::null()).spawn()?; sleep(Duration::from_secs(5)).await; - // let deploy_status = TokioCommand::new("forge") - // .args(&["-c", "anvil", "-p", "anvil"]) - // .status() - // .await?; - // assert!(deploy_status.success(), "Deployment failed"); - // + //Deploy WETH9 + let weth_deploy_output = TokioCommand::new("forge") + .args(&["create", "--rpc-url", rpc_url, "--private-key", initiator_priv_key, weth_path]) + .output() + .await?; + if !weth_deploy_output.status.success() { + eprint!("Failed to deploy WETH: {}", String::from_utf8_lossy(&weth_deploy_output.stderr)); + return Err(anyhow::anyhow!("Failed to deploy WETH")); + } else { + println!("WETH deploy output:"); + println!("{}", String::from_utf8_lossy(&weth_deploy_output.stdout)); + } + sleep(Duration::from_secs(5)).await; // Step 1: Deploy