UNPKG

descent-js

Version:

A Typescript library for interacting with the Descent Protocol

697 lines 151 kB
{ "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" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061070b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b54fb88e14610030575b600080fd5b61004361003e366004610534565b610045565b005b8887811461006e57604051638aa3abdb60e01b8152600160048201526024015b60405180910390fd5b80861461009157604051638aa3abdb60e01b815260026004820152602401610065565b8084146100b457604051638aa3abdb60e01b815260036004820152602401610065565b8082146100d657604051638aa3abdb60e01b8152600481810152602401610065565b3360005b828110156104d95760008b8b838181106100f6576100f661063b565b905060200201602081019061010b9190610651565b600381111561011c5761011c610625565b03610205578c8c828181106101335761013361063b565b90506020020160208101906101489190610691565b6001600160a01b031663f970c3b78a8a848181106101685761016861063b565b905060200201602081019061017d9190610691565b848888868181106101905761019061063b565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015b600060405180830381600087803b1580156101e857600080fd5b505af11580156101fc573d6000803e3d6000fd5b505050506104c9565b60018b8b838181106102195761021961063b565b905060200201602081019061022e9190610651565b600381111561023f5761023f610625565b03610325578c8c828181106102565761025661063b565b905060200201602081019061026b9190610691565b6001600160a01b0316635820ba638a8a8481811061028b5761028b61063b565b90506020020160208101906102a09190610691565b848a8a868181106102b3576102b361063b565b90506020020160208101906102c89190610691565b8989878181106102da576102da61063b565b60405160e088901b6001600160e01b03191681526001600160a01b039687166004820152948616602486015292909416604484015260209091020135606482015260840190506101ce565b60028b8b838181106103395761033961063b565b905060200201602081019061034e9190610651565b600381111561035f5761035f610625565b036103ab578c8c828181106103765761037661063b565b905060200201602081019061038b9190610691565b6001600160a01b03166349a66ca38a8a8481811061028b5761028b61063b565b60038b8b838181106103bf576103bf61063b565b90506020020160208101906103d49190610651565b60038111156103e5576103e5610625565b036104c9578c8c828181106103fc576103fc61063b565b90506020020160208101906104119190610691565b6001600160a01b0316634fa739198a8a848181106104315761043161063b565b90506020020160208101906104469190610691565b848888868181106104595761045961063b565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156104b057600080fd5b505af11580156104c4573d6000803e3d6000fd5b505050505b6104d2816106ae565b90506100da565b50505050505050505050505050565b60008083601f8401126104fa57600080fd5b50813567ffffffffffffffff81111561051257600080fd5b6020830191508360208260051b850101111561052d57600080fd5b9250929050565b60008060008060008060008060008060a08b8d03121561055357600080fd5b8a3567ffffffffffffffff8082111561056b57600080fd5b6105778e838f016104e8565b909c509a5060208d013591508082111561059057600080fd5b61059c8e838f016104e8565b909a50985060408d01359150808211156105b557600080fd5b6105c18e838f016104e8565b909850965060608d01359150808211156105da57600080fd5b6105e68e838f016104e8565b909650945060808d01359150808211156105ff57600080fd5b5061060c8d828e016104e8565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561066357600080fd5b81356004811061067257600080fd5b9392505050565b6001600160a01b038116811461068e57600080fd5b50565b6000602082840312156106a357600080fd5b813561067281610679565b6000600182016106ce57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220806b08789d39a4ca103e0821f09ca0454dfa8a6b48de5c9d2049eaf104c3249464736f6c63430008150033", "sourceMap": "240:2145:54:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "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": {} }, "methodIdentifiers": { "multiInteract(address[],uint8[],address[],address[],uint256[])": "b54fb88e" }, "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}", "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 }, "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",