descent-js
Version:
A Typescript library for interacting with the Descent Protocol
697 lines • 151 kB
JSON
{
"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",