descent-js
Version:
A Typescript library for interacting with the Descent Protocol
734 lines • 147 kB
JavaScript
module.exports = {
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",
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"
}
},
{
conditio