UNPKG

descent-js

Version:

A Typescript library for interacting with the Descent Protocol

768 lines 141 kB
// src/contracts/abis/VaultRouter.json var abi = [ { inputs: [ { internalType: "uint256", name: "parameterIndex", type: "uint256" } ], name: "MisMatchedInputsLength", type: "error" }, { inputs: [ { internalType: "contract Vault[]", name: "_vaultContracts", type: "address[]" }, { internalType: "enum VaultRouter.Operations[]", name: "_operations", type: "uint8[]" }, { internalType: "contract ERC20[]", name: "_collateralTokens", type: "address[]" }, { internalType: "address[]", name: "_tos", type: "address[]" }, { internalType: "uint256[]", name: "_amounts", type: "uint256[]" } ], name: "multiInteract", outputs: [], stateMutability: "nonpayable", type: "function" } ]; var bytecode = { object: "0x608060405234801561001057600080fd5b5061070b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b54fb88e14610030575b600080fd5b61004361003e366004610534565b610045565b005b8887811461006e57604051638aa3abdb60e01b8152600160048201526024015b60405180910390fd5b80861461009157604051638aa3abdb60e01b815260026004820152602401610065565b8084146100b457604051638aa3abdb60e01b815260036004820152602401610065565b8082146100d657604051638aa3abdb60e01b8152600481810152602401610065565b3360005b828110156104d95760008b8b838181106100f6576100f661063b565b905060200201602081019061010b9190610651565b600381111561011c5761011c610625565b03610205578c8c828181106101335761013361063b565b90506020020160208101906101489190610691565b6001600160a01b031663f970c3b78a8a848181106101685761016861063b565b905060200201602081019061017d9190610691565b848888868181106101905761019061063b565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015b600060405180830381600087803b1580156101e857600080fd5b505af11580156101fc573d6000803e3d6000fd5b505050506104c9565b60018b8b838181106102195761021961063b565b905060200201602081019061022e9190610651565b600381111561023f5761023f610625565b03610325578c8c828181106102565761025661063b565b905060200201602081019061026b9190610691565b6001600160a01b0316635820ba638a8a8481811061028b5761028b61063b565b90506020020160208101906102a09190610691565b848a8a868181106102b3576102b361063b565b90506020020160208101906102c89190610691565b8989878181106102da576102da61063b565b60405160e088901b6001600160e01b03191681526001600160a01b039687166004820152948616602486015292909416604484015260209091020135606482015260840190506101ce565b60028b8b838181106103395761033961063b565b905060200201602081019061034e9190610651565b600381111561035f5761035f610625565b036103ab578c8c828181106103765761037661063b565b905060200201602081019061038b9190610691565b6001600160a01b03166349a66ca38a8a8481811061028b5761028b61063b565b60038b8b838181106103bf576103bf61063b565b90506020020160208101906103d49190610651565b60038111156103e5576103e5610625565b036104c9578c8c828181106103fc576103fc61063b565b90506020020160208101906104119190610691565b6001600160a01b0316634fa739198a8a848181106104315761043161063b565b90506020020160208101906104469190610691565b848888868181106104595761045961063b565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156104b057600080fd5b505af11580156104c4573d6000803e3d6000fd5b505050505b6104d2816106ae565b90506100da565b50505050505050505050505050565b60008083601f8401126104fa57600080fd5b50813567ffffffffffffffff81111561051257600080fd5b6020830191508360208260051b850101111561052d57600080fd5b9250929050565b60008060008060008060008060008060a08b8d03121561055357600080fd5b8a3567ffffffffffffffff8082111561056b57600080fd5b6105778e838f016104e8565b909c509a5060208d013591508082111561059057600080fd5b61059c8e838f016104e8565b909a50985060408d01359150808211156105b557600080fd5b6105c18e838f016104e8565b909850965060608d01359150808211156105da57600080fd5b6105e68e838f016104e8565b909650945060808d01359150808211156105ff57600080fd5b5061060c8d828e016104e8565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561066357600080fd5b81356004811061067257600080fd5b9392505050565b6001600160a01b038116811461068e57600080fd5b50565b6000602082840312156106a357600080fd5b813561067281610679565b6000600182016106ce57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220806b08789d39a4ca103e0821f09ca0454dfa8a6b48de5c9d2049eaf104c3249464736f6c63430008150033", sourceMap: "240:2145:54:-:0;;;;;;;;;;;;;;;;;;;", linkReferences: {} }; var deployedBytecode = { object: "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b54fb88e14610030575b600080fd5b61004361003e366004610534565b610045565b005b8887811461006e57604051638aa3abdb60e01b8152600160048201526024015b60405180910390fd5b80861461009157604051638aa3abdb60e01b815260026004820152602401610065565b8084146100b457604051638aa3abdb60e01b815260036004820152602401610065565b8082146100d657604051638aa3abdb60e01b8152600481810152602401610065565b3360005b828110156104d95760008b8b838181106100f6576100f661063b565b905060200201602081019061010b9190610651565b600381111561011c5761011c610625565b03610205578c8c828181106101335761013361063b565b90506020020160208101906101489190610691565b6001600160a01b031663f970c3b78a8a848181106101685761016861063b565b905060200201602081019061017d9190610691565b848888868181106101905761019061063b565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015b600060405180830381600087803b1580156101e857600080fd5b505af11580156101fc573d6000803e3d6000fd5b505050506104c9565b60018b8b838181106102195761021961063b565b905060200201602081019061022e9190610651565b600381111561023f5761023f610625565b03610325578c8c828181106102565761025661063b565b905060200201602081019061026b9190610691565b6001600160a01b0316635820ba638a8a8481811061028b5761028b61063b565b90506020020160208101906102a09190610691565b848a8a868181106102b3576102b361063b565b90506020020160208101906102c89190610691565b8989878181106102da576102da61063b565b60405160e088901b6001600160e01b03191681526001600160a01b039687166004820152948616602486015292909416604484015260209091020135606482015260840190506101ce565b60028b8b838181106103395761033961063b565b905060200201602081019061034e9190610651565b600381111561035f5761035f610625565b036103ab578c8c828181106103765761037661063b565b905060200201602081019061038b9190610691565b6001600160a01b03166349a66ca38a8a8481811061028b5761028b61063b565b60038b8b838181106103bf576103bf61063b565b90506020020160208101906103d49190610651565b60038111156103e5576103e5610625565b036104c9578c8c828181106103fc576103fc61063b565b90506020020160208101906104119190610691565b6001600160a01b0316634fa739198a8a848181106104315761043161063b565b90506020020160208101906104469190610691565b848888868181106104595761045961063b565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156104b057600080fd5b505af11580156104c4573d6000803e3d6000fd5b505050505b6104d2816106ae565b90506100da565b50505050505050505050505050565b60008083601f8401126104fa57600080fd5b50813567ffffffffffffffff81111561051257600080fd5b6020830191508360208260051b850101111561052d57600080fd5b9250929050565b60008060008060008060008060008060a08b8d03121561055357600080fd5b8a3567ffffffffffffffff8082111561056b57600080fd5b6105778e838f016104e8565b909c509a5060208d013591508082111561059057600080fd5b61059c8e838f016104e8565b909a50985060408d01359150808211156105b557600080fd5b6105c18e838f016104e8565b909850965060608d01359150808211156105da57600080fd5b6105e68e838f016104e8565b909650945060808d01359150808211156105ff57600080fd5b5061060c8d828e016104e8565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561066357600080fd5b81356004811061067257600080fd5b9392505050565b6001600160a01b038116811461068e57600080fd5b50565b6000602082840312156106a357600080fd5b813561067281610679565b6000600182016106ce57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220806b08789d39a4ca103e0821f09ca0454dfa8a6b48de5c9d2049eaf104c3249464736f6c63430008150033", sourceMap: "240:2145:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:1930;;;;;;:::i;:::-;;:::i;:::-;;;796:15;833:37;;;829:75;;879:25;;-1:-1:-1;;;879:25:54;;902:1;879:25;;;2353::56;2326:18;;879:25:54;;;;;;;;829:75;987:43;;;983:81;;1039:25;;-1:-1:-1;;;1039:25:54;;1062:1;1039:25;;;2353::56;2326:18;;1039:25:54;2199:185:56;983:81:54;1147:30;;;1143:68;;1186:25;;-1:-1:-1;;;1186:25:54;;1209:1;1186:25;;;2353::56;2326:18;;1186:25:54;2199:185:56;1143:68:54;1294:34;;;1290:72;;1337:25;;-1:-1:-1;;;1337:25:54;;1360:1;1337:25;;;2353::56;2326:18;;1337:25:54;2199:185:56;1290:72:54;1616:10;1599:14;1637:740;1657:15;1653:1;:19;1637:740;;;1715:28;1697:11;;1709:1;1697:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;:46;;;;;;;;:::i;:::-;;1693:674;;1763:15;;1779:1;1763:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1763:36:54;;1800:17;;1818:1;1800:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1822:6;1830:8;;1839:1;1830:11;;;;;;;:::i;:::-;1763:79;;-1:-1:-1;;;;;;1763:79:54;;;;;;;-1:-1:-1;;;;;4464:15:56;;;1763:79:54;;;4446:34:56;4516:15;;;;4496:18;;;4489:43;-1:-1:-1;1830:11:54;;;;;;4548:18:56;;;4541:34;4381:18;;1763:79:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1693:674;;;1885:29;1867:11;;1879:1;1867:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;:47;;;;;;;;:::i;:::-;;1863:504;;1934:15;;1950:1;1934:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1934:37:54;;1972:17;;1990:1;1972:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;1994:6;2002:4;;2007:1;2002:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2011:8;;2020:1;2011:11;;;;;;;:::i;:::-;1934:89;;;;;;-1:-1:-1;;;;;;1934:89:54;;;-1:-1:-1;;;;;5147:15:56;;;1934:89:54;;;5129:34:56;5199:15;;;5179:18;;;5172:43;5251:15;;;;5231:18;;;5224:43;2011:11:54;;;;;;5283:18:56;;;5276:34;5063:19;;;-1:-1:-1;1934:89:54;4845:471:56;1863:504:54;2066:23;2048:11;;2060:1;2048:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;:41;;;;;;;;:::i;:::-;;2044:323;;2109:15;;2125:1;2109:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2109:31:54;;2141:17;;2159:1;2141:20;;;;;;;:::i;2044:323::-;2235:23;2217:11;;2229:1;2217:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;:41;;;;;;;;:::i;:::-;;2213:154;;2278:15;;2294:1;2278:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2278:31:54;;2310:17;;2328:1;2310:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2332:6;2340:8;;2349:1;2340:11;;;;;;;:::i;:::-;2278:74;;-1:-1:-1;;;;;;2278:74:54;;;;;;;-1:-1:-1;;;;;4464:15:56;;;2278:74:54;;;4446:34:56;4516:15;;;;4496:18;;;4489:43;-1:-1:-1;2340:11:54;;;;;;4548:18:56;;;4541:34;4381:18;;2278:74:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:154;1674:3;;;:::i;:::-;;;1637:740;;;;690:1693;;453:1930;;;;;;;;;;:::o;14:374:56:-;84:8;94:6;148:3;141:4;133:6;129:17;125:27;115:55;;166:1;163;156:12;115:55;-1:-1:-1;189:20:56;;232:18;221:30;;218:50;;;264:1;261;254:12;218:50;301:4;293:6;289:17;277:29;;361:3;354:4;344:6;341:1;337:14;329:6;325:27;321:38;318:47;315:67;;;378:1;375;368:12;315:67;14:374;;;;;:::o;393:1801::-;669:6;677;685;693;701;709;717;725;733;741;794:3;782:9;773:7;769:23;765:33;762:53;;;811:1;808;801:12;762:53;851:9;838:23;880:18;921:2;913:6;910:14;907:34;;;937:1;934;927:12;907:34;976:77;1045:7;1036:6;1025:9;1021:22;976:77;:::i;:::-;1072:8;;-1:-1:-1;950:103:56;-1:-1:-1;1160:2:56;1145:18;;1132:32;;-1:-1:-1;1176:16:56;;;1173:36;;;1205:1;1202;1195:12;1173:36;1244:79;1315:7;1304:8;1293:9;1289:24;1244:79;:::i;:::-;1342:8;;-1:-1:-1;1218:105:56;-1:-1:-1;1430:2:56;1415:18;;1402:32;;-1:-1:-1;1446:16:56;;;1443:36;;;1475:1;1472;1465:12;1443:36;1514:79;1585:7;1574:8;1563:9;1559:24;1514:79;:::i;:::-;1612:8;;-1:-1:-1;1488:105:56;-1:-1:-1;1700:2:56;1685:18;;1672:32;;-1:-1:-1;1716:16:56;;;1713:36;;;1745:1;1742;1735:12;1713:36;1784:79;1855:7;1844:8;1833:9;1829:24;1784:79;:::i;:::-;1882:8;;-1:-1:-1;1758:105:56;-1:-1:-1;1970:3:56;1955:19;;1942:33;;-1:-1:-1;1987:16:56;;;1984:36;;;2016:1;2013;2006:12;1984:36;;2055:79;2126:7;2115:8;2104:9;2100:24;2055:79;:::i;:::-;2029:105;;2153:8;2143:18;;;2180:8;2170:18;;;393:1801;;;;;;;;;;;;;:::o;2959:127::-;3020:10;3015:3;3011:20;3008:1;3001:31;3051:4;3048:1;3041:15;3075:4;3072:1;3065:15;3091:127;3152:10;3147:3;3143:20;3140:1;3133:31;3183:4;3180:1;3173:15;3207:4;3204:1;3197:15;3223:272;3298:6;3351:2;3339:9;3330:7;3326:23;3322:32;3319:52;;;3367:1;3364;3357:12;3319:52;3406:9;3393:23;3445:1;3438:5;3435:12;3425:40;;3461:1;3458;3451:12;3425:40;3484:5;3223:272;-1:-1:-1;;;3223:272:56:o;3500:138::-;-1:-1:-1;;;;;3582:31:56;;3572:42;;3562:70;;3628:1;3625;3618:12;3562:70;3500:138;:::o;3643:269::-;3717:6;3770:2;3758:9;3749:7;3745:23;3741:32;3738:52;;;3786:1;3783;3776:12;3738:52;3825:9;3812:23;3844:38;3876:5;3844:38;:::i;5321:232::-;5360:3;5381:17;;;5378:140;;5440:10;5435:3;5431:20;5428:1;5421:31;5475:4;5472:1;5465:15;5503:4;5500:1;5493:15;5378:140;-1:-1:-1;5545:1:56;5534:13;;5321:232::o", linkReferences: {} }; var methodIdentifiers = { "multiInteract(address[],uint8[],address[],address[],uint256[])": "b54fb88e" }; var rawMetadata = '{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"parameterIndex","type":"uint256"}],"name":"MisMatchedInputsLength","type":"error"},{"inputs":[{"internalType":"contract Vault[]","name":"_vaultContracts","type":"address[]"},{"internalType":"enum VaultRouter.Operations[]","name":"_operations","type":"uint8[]"},{"internalType":"contract ERC20[]","name":"_collateralTokens","type":"address[]"},{"internalType":"address[]","name":"_tos","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"multiInteract","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"src/vaultRouter.sol":"VaultRouter"},"evmVersion":"paris","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[":@openzeppelin/=lib/protocol-core/lib/openzeppelin-contracts/",":@openzeppelin/contracts/=lib/protocol-core/lib/openzeppelin-contracts/contracts/",":descent-collective/protocol-core/=lib/protocol-core/src/",":ds-test/=lib/forge-std/lib/ds-test/src/",":erc4626-tests/=lib/protocol-core/lib/openzeppelin-contracts/lib/erc4626-tests/",":forge-std/=lib/forge-std/src/",":openzeppelin-contracts/=lib/protocol-core/lib/openzeppelin-contracts/",":protocol-core/=lib/protocol-core/"]},"sources":{"lib/protocol-core/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308","license":"MIT","urls":["bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80","dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41","license":"MIT","urls":["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26","dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","license":"MIT","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","license":"MIT","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","license":"MIT","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","license":"MIT","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee","license":"MIT","urls":["bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2","dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","license":"MIT","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","license":"MIT","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386","license":"MIT","urls":["bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0","dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721","license":"MIT","urls":["bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245","dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3","license":"MIT","urls":["bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867","dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","license":"MIT","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","license":"MIT","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","license":"MIT","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","license":"MIT","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","license":"MIT","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","license":"MIT","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","license":"MIT","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","license":"MIT","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","license":"MIT","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","license":"MIT","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"]},"lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","license":"MIT","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"]},"lib/protocol-core/src/currency.sol":{"keccak256":"0xcff030c4bad135b27acbe405aba19da1184c406c30fe6839b17ffcb8548938d4","license":"GPL-3.0","urls":["bzz-raw://8ca7791099d9f9851622964e2668477dbe07441c4d687621eaff725c7e25d48b","dweb:/ipfs/QmdsMzD9aVqBym5bS4QnYnGtN8872iBck94NFeyfLirJ8Y"]},"lib/protocol-core/src/helpers/pausable.sol":{"keccak256":"0x8acce52dcd450c73da0f77d9539962826da23aca05aa7d0c7568614e89aed997","license":"GPL-3.0","urls":["bzz-raw://35e2f674e01c0d6107f31d1c32bb2780d442420b7d26636f560a4eb1007f4a8b","dweb:/ipfs/QmWwVLUGiJq6Q3fK6Zhx4pc6kaqC73pkZ1ntfVA3QCHTpd"]},"lib/protocol-core/src/interfaces/ICurrency.sol":{"keccak256":"0x3b7adace3df08c34906612358d435ffff3b90b5eec0eae34b6335cc8dcd0e7ed","license":"GPL-3.0","urls":["bzz-raw://370c80ec5636bd95342256d4116f703e633e6b0467ee530397e9b5cada37f998","dweb:/ipfs/QmPQ5KY37JpfuSAXpJ16kBXAQVJcE253cfjYGcBEcMLERz"]},"lib/protocol-core/src/interfaces/IVault.sol":{"keccak256":"0x0b07e90c8de2bb57e62990839bdc52077d067d9e38db6fd2a8c684dbaf74f1b4","license":"GPL-3.0","urls":["bzz-raw://50a4e4b3745f623e7ea99800c1472b5d2fdbc3332ceecc1e4eb1cb2546d6b7b5","dweb:/ipfs/Qma91VRTUw3bJzxanpErFXze7R3N9gHE9pnmWm3oFwcC6g"]},"lib/protocol-core/src/vault.sol":{"keccak256":"0xb42eb135923431b43ccd78a05d5937dc7faf98717fabd0b3a50a030b15db7977","license":"GPL-3.0","urls":["bzz-raw://7a1cadec603bec32da036fc3f095454601105ed00b90def95fa0912ac2ea7d6d","dweb:/ipfs/QmYLDswPYNPuG2RguyZbtD7cWumTZXhPmNfvwsJDr3vGyv"]},"src/vaultRouter.sol":{"keccak256":"0x277ae5fab67cecb12cc9d2e51229843b397b2d8be5c0b203e050fcac023ae198","license":"MIT","urls":["bzz-raw://1bb1bc4a44eb8bca099512ada96dc9f528ef1f236cffd6b8e5c4084c40a0bf1a","dweb:/ipfs/QmaaJeJNXXztmPDeKWaZbScLw1JHYiPVxrf5PrwPp4SLQ3"]}},"version":1}'; var metadata = { compiler: { version: "0.8.21+commit.d9974bed" }, language: "Solidity", output: { abi: [ { inputs: [ { internalType: "uint256", name: "parameterIndex", type: "uint256" } ], type: "error", name: "MisMatchedInputsLength" }, { inputs: [ { internalType: "contract Vault[]", name: "_vaultContracts", type: "address[]" }, { internalType: "enum VaultRouter.Operations[]", name: "_operations", type: "uint8[]" }, { internalType: "contract ERC20[]", name: "_collateralTokens", type: "address[]" }, { internalType: "address[]", name: "_tos", type: "address[]" }, { internalType: "uint256[]", name: "_amounts", type: "uint256[]" } ], stateMutability: "nonpayable", type: "function", name: "multiInteract" } ], devdoc: { kind: "dev", methods: {}, version: 1 }, userdoc: { kind: "user", methods: {}, version: 1 } }, settings: { remappings: [ "@openzeppelin/=lib/protocol-core/lib/openzeppelin-contracts/", "@openzeppelin/contracts/=lib/protocol-core/lib/openzeppelin-contracts/contracts/", "descent-collective/protocol-core/=lib/protocol-core/src/", "ds-test/=lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/protocol-core/lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/protocol-core/lib/openzeppelin-contracts/", "protocol-core/=lib/protocol-core/" ], optimizer: { enabled: true, runs: 200 }, metadata: { bytecodeHash: "ipfs" }, compilationTarget: { "src/vaultRouter.sol": "VaultRouter" }, libraries: {} }, sources: { "lib/protocol-core/lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { keccak256: "0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308", urls: [ "bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80", "dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { keccak256: "0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41", urls: [ "bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26", "dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": { keccak256: "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92", urls: [ "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a", "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": { keccak256: "0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7", urls: [ "bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f", "dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { keccak256: "0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80", urls: [ "bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229", "dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { keccak256: "0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70", urls: [ "bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c", "dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol": { keccak256: "0xc858a86a35701004d89022a5e98819aac46ccbdc4072fc9dd43928a676b1a2ee", urls: [ "bzz-raw://18acebb483c512c0eaafcb437f09c839972c3f0d36f0201ea7baa2926b987dd2", "dweb:/ipfs/Qmd9bf2noaDSYDtf6FMSzKu7LPhuf91jsVNmcoCuTCuGic" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { keccak256: "0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2", urls: [ "bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850", "dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { keccak256: "0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff", urls: [ "bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d", "dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { keccak256: "0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386", urls: [ "bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0", "dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Address.sol": { keccak256: "0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721", urls: [ "bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245", "dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Context.sol": { keccak256: "0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3", urls: [ "bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867", "dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Nonces.sol": { keccak256: "0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f", urls: [ "bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e", "dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol": { keccak256: "0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6", urls: [ "bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c", "dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": { keccak256: "0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418", urls: [ "bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c", "dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/Strings.sol": { keccak256: "0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792", urls: [ "bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453", "dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { keccak256: "0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf", urls: [ "bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c", "dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol": { keccak256: "0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0", urls: [ "bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21", "dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": { keccak256: "0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435", urls: [ "bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c", "dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { keccak256: "0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133", urls: [ "bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8", "dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { keccak256: "0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b", urls: [ "bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df", "dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { keccak256: "0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d", urls: [ "bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875", "dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L" ], license: "MIT" }, "lib/protocol-core/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { keccak256: "0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72", urls: [ "bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc", "dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT" ], license: "MIT" }, "lib/protocol-core/src/currency.sol": { keccak256: "0xcff030c4bad135b27acbe405aba19da1184c406c30fe6839b17ffcb8548938d4", urls: [ "bzz-raw://8ca7791099d9f9851622964e2668477dbe07441c4d687621eaff725c7e25d48b", "dweb:/ipfs/QmdsMzD9aVqBym5bS4QnYnGtN8872iBck94NFeyfLirJ8Y" ], license: "GPL-3.0" }, "lib/protocol-core/src/helpers/pausable.sol": { keccak256: "0x8acce52dcd450c73da0f77d9539962826da23aca05aa7d0c7568614e89aed997", urls: [ "bzz-raw://35e2f674e01c0d6107f31d1c32bb2780d442420b7d26636f560a4eb1007f4a8b", "dweb:/ipfs/QmWwVLUGiJq6Q3fK6Zhx4pc6kaqC73pkZ1ntfVA3QCHTpd" ], license: "GPL-3.0" }, "lib/protocol-core/src/interfaces/ICurrency.sol": { keccak256: "0x3b7adace3df08c34906612358d435ffff3b90b5eec0eae34b6335cc8dcd0e7ed", urls: [ "bzz-raw://370c80ec5636bd95342256d4116f703e633e6b0467ee530397e9b5cada37f998", "dweb:/ipfs/QmPQ5KY37JpfuSAXpJ16kBXAQVJcE253cfjYGcBEcMLERz" ], license: "GPL-3.0" }, "lib/protocol-core/src/interfaces/IVault.sol": { keccak256: "0x0b07e90c8de2bb57e62990839bdc52077d067d9e38db6fd2a8c684dbaf74f1b4", urls: [ "bzz-raw://50a4e4b3745f623e7ea99800c1472b5d2fdbc3332ceecc1e4eb1cb2546d6b7b5", "dweb:/ipfs/Qma91VRTUw3bJzxanpErFXze7R3N9gHE9pnmWm3oFwcC6g" ], license: "GPL-3.0" }, "lib/protocol-core/src/vault.sol": { keccak256: "0xb42eb135923431b43ccd78a05d5937dc7faf98717fabd0b3a50a030b15db7977", urls: [ "bzz-raw://7a1cadec603bec32da036fc3f095454601105ed00b90def95fa0912ac2ea7d6d", "dweb:/ipfs/QmYLDswPYNPuG2RguyZbtD7cWumTZXhPmNfvwsJDr3vGyv" ], license: "GPL-3.0" }, "src/vaultRouter.sol": { keccak256: "0x277ae5fab67cecb12cc9d2e51229843b397b2d8be5c0b203e050fcac023ae198", urls: [ "bzz-raw://1bb1bc4a44eb8bca099512ada96dc9f528ef1f236cffd6b8e5c4084c40a0bf1a", "dweb:/ipfs/QmaaJeJNXXztmPDeKWaZbScLw1JHYiPVxrf5PrwPp4SLQ3" ], license: "MIT" } }, version: 1 }; var ast = { absolutePath: "src/vaultRouter.sol", id: 52401, exportedSymbols: { ERC20: [45654], Vault: [51076], VaultRouter: [52400] }, nodeType: "SourceUnit", src: "32:2354:54", nodes: [ { id: 52217, nodeType: "PragmaDirective", src: "32:23:54", nodes: [], literals: ["solidity", "0.8", ".21"] }, { id: 52219, nodeType: "ImportDirective", src: "104:68:54", nodes: [], absolutePath: "lib/protocol-core/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", file: "@openzeppelin/contracts/token/ERC20/ERC20.sol", nameLocation: "-1:-1:-1", scope: 52401, sourceUnit: 45655, symbolAliases: [ { foreign: { id: 52218, name: "ERC20", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 45654, src: "112:5:54", typeDescriptions: {} }, nameLocation: "-1:-1:-1" } ], unitAlias: "" }, { id: 52221, nodeType: "ImportDirective", src: "173:65:54", nodes: [], absolutePath: "lib/protocol-core/src/vault.sol", file: "descent-collective/protocol-core/vault.sol", nameLocation: "-1:-1:-1", scope: 52401, sourceUnit: 51077, symbolAliases: [ { foreign: { id: 52220, name: "Vault", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 51076, src: "181:5:54", typeDescriptions: {} }, nameLocation: "-1:-1:-1" } ], unitAlias: "" }, { id: 52400, nodeType: "ContractDefinition", src: "240:2145:54", nodes: [ { id: 52225, nodeType: "ErrorDefinition", src: "267:53:54", nodes: [], errorSelector: "8aa3abdb", name: "MisMatchedInputsLength", nameLocation: "273:22:54", parameters: { id: 52224, nodeType: "ParameterList", parameters: [ { constant: false, id: 52223, mutability: "mutable", name: "parameterIndex", nameLocation: "304:14:54", nodeType: "VariableDeclaration", scope: 52225, src: "296:22:54", stateVariable: false, storageLocation: "default", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" }, typeName: { id: 52222, name: "uint256", nodeType: "ElementaryTypeName", src: "296:7:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, visibility: "internal" } ], src: "295:24:54" } }, { id: 52230, nodeType: "EnumDefinition", src: "326:121:54", nodes: [], canonicalName: "VaultRouter.Operations", members: [ { id: 52226, name: "DepositCollateral", nameLocation: "352:17:54", nodeType: "EnumValue", src: "352:17:54" }, { id: 52227, name: "WithdrawCollateral", nameLocation: "379:18:54", nodeType: "EnumValue", src: "379:18:54" }, { id: 52228, name: "MintCurrency", nameLocation: "407:12:54", nodeType: "EnumValue", src: "407:12:54" }, { id: 52229, name: "BurnCurrency", nameLocation: "429:12:54", nodeType: "EnumValue", src: "429:12:54" } ], name: "Operations", nameLocation: "331:10:54" }, { id: 52399, nodeType: "FunctionDefinition", src: "453:1930:54", nodes: [], body: { id: 52398, nodeType: "Block", src: "690:1693:54", nodes: [], statements: [ { assignments: [52252], declarations: [ { constant: false, id: 52252, mutability: "mutable", name: "_expectedLength", nameLocation: "778:15:54", nodeType: "VariableDeclaration", scope: 52398, src: "770:23:54", stateVariable: false, storageLocation: "default", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" }, typeName: { id: 52251, name: "uint256", nodeType: "ElementaryTypeName", src: "770:7:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, visibility: "internal" } ], id: 52255, initialValue: { expression: { id: 52253, name: "_vaultContracts", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52234, src: "796:15:54", typeDescriptions: { typeIdentifier: "t_array$_t_contract$_Vault_$51076_$dyn_calldata_ptr", typeString: "contract Vault[] calldata" } }, id: 52254, isConstant: false, isLValue: false, isPure: false, lValueRequested: false, memberLocation: "812:6:54", memberName: "length", nodeType: "MemberAccess", src: "796:22:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, nodeType: "VariableDeclarationStatement", src: "770:48:54" }, { condition: { commonType: { typeIdentifier: "t_uint256", typeString: "uint256" }, id: 52259, isConstant: false, isLValue: false, isPure: false, lValueRequested: false, leftExpression: { id: 52256, name: "_expectedLength", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52252, src: "833:15:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, nodeType: "BinaryOperation", operator: "!=", rightExpression: { expression: { id: 52257, name: "_operations", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52238, src: "852:11:54", typeDescriptions: { typeIdentifier: "t_array$_t_enum$_Operations_$52230_$dyn_calldata_ptr", typeString: "enum VaultRouter.Operations[] calldata" } }, id: 52258, isConstant: false, isLValue: false, isPure: false, lValueRequested: false, memberLocation: "864:6:54", memberName: "length", nodeType: "MemberAccess", src: "852:18:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, src: "833:37:54", typeDescriptions: { typeIdentifier: "t_bool", typeString: "bool" } }, id: 52264, nodeType: "IfStatement", src: "829:75:54", trueBody: { errorCall: { arguments: [ { hexValue: "31", id: 52261, isConstant: false, isLValue: false, isPure: true, kind: "number", lValueRequested: false, nodeType: "Literal", src: "902:1:54", typeDescriptions: { typeIdentifier: "t_rational_1_by_1", typeString: "int_const 1" }, value: "1" } ], expression: { argumentTypes: [ { typeIdentifier: "t_rational_1_by_1", typeString: "int_const 1" } ], id: 52260, name: "MisMatchedInputsLength", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52225, src: "879:22:54", typeDescriptions: { typeIdentifier: "t_function_error_pure$_t_uint256_$returns$__$", typeString: "function (uint256) pure" } }, id: 52262, isConstant: false, isLValue: false, isPure: false, kind: "functionCall", lValueRequested: false, nameLocations: [], names: [], nodeType: "FunctionCall", src: "879:25:54", tryCall: false, typeDescriptions: { typeIdentifier: "t_tuple$__$", typeString: "tuple()" } }, id: 52263, nodeType: "RevertStatement", src: "872:32:54" } }, { condition: { commonType: { typeIdentifier: "t_uint256", typeString: "uint256" }, id: 52268, isConstant: false, isLValue: false, isPure: false, lValueRequested: false, leftExpression: { id: 52265, name: "_expectedLength", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52252, src: "987:15:54", typeDescriptions: { typeIdentifier: "t_uint256", typeString: "uint256" } }, nodeType: "BinaryOperation", operator: "!=", rightExpression: { expression: { id: 52266, name: "_collateralTokens", nodeType: "Identifier", overloadedDeclarations: [], referencedDeclaration: 52242, src: "1006:17:54", typeDescriptions: { typeIdentifier: "t_array$_t_contract$_ERC20_$45654_$dyn_calldata_ptr", typeString: "contract ERC20[] ca