diff --git a/v2-subgraph/.gitignore b/v2-subgraph/.gitignore new file mode 100644 index 0000000..b542c60 --- /dev/null +++ b/v2-subgraph/.gitignore @@ -0,0 +1,34 @@ +# Graph CLI generated artifacts +build/ +generated/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# dotenv environment variables file +.env + +# Testing +coverage +coverage.json + +# Typechain +typechain +typechain-types + +# Hardhat files +cache diff --git a/v2-subgraph/abis/EntryPoint.json b/v2-subgraph/abis/EntryPoint.json new file mode 100644 index 0000000..7039e95 --- /dev/null +++ b/v2-subgraph/abis/EntryPoint.json @@ -0,0 +1,1309 @@ +[ + { + "inputs": [ + { + "internalType": "uint256", + "name": "preOpGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "paid", + "type": "uint256" + }, + { + "internalType": "uint48", + "name": "validAfter", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "validUntil", + "type": "uint48" + }, + { + "internalType": "bool", + "name": "targetSuccess", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "targetResult", + "type": "bytes" + } + ], + "name": "ExecutionResult", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "FailedOp", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "SenderAddressResult", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "SignatureValidationFailed", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "preOpGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "prefund", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "sigFailed", + "type": "bool" + }, + { + "internalType": "uint48", + "name": "validAfter", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "validUntil", + "type": "uint48" + }, + { + "internalType": "bytes", + "name": "paymasterContext", + "type": "bytes" + } + ], + "internalType": "struct IEntryPoint.ReturnInfo", + "name": "returnInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "senderInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "factoryInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "paymasterInfo", + "type": "tuple" + } + ], + "name": "ValidationResult", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "preOpGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "prefund", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "sigFailed", + "type": "bool" + }, + { + "internalType": "uint48", + "name": "validAfter", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "validUntil", + "type": "uint48" + }, + { + "internalType": "bytes", + "name": "paymasterContext", + "type": "bytes" + } + ], + "internalType": "struct IEntryPoint.ReturnInfo", + "name": "returnInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "senderInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "factoryInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "paymasterInfo", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "aggregator", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "internalType": "struct IStakeManager.StakeInfo", + "name": "stakeInfo", + "type": "tuple" + } + ], + "internalType": "struct IEntryPoint.AggregatorStakeInfo", + "name": "aggregatorInfo", + "type": "tuple" + } + ], + "name": "ValidationResultWithAggregation", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "factory", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "paymaster", + "type": "address" + } + ], + "name": "AccountDeployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "BeforeExecution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalDeposit", + "type": "uint256" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "SignatureAggregatorChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalStaked", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawTime", + "type": "uint256" + } + ], + "name": "StakeUnlocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "paymaster", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "actualGasUsed", + "type": "uint256" + } + ], + "name": "UserOperationEvent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "revertReason", + "type": "bytes" + } + ], + "name": "UserOperationRevertReason", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [], + "name": "SIG_VALIDATION_FAILED", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + } + ], + "name": "_validateSenderAndPaymaster", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "depositTo", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "deposits", + "outputs": [ + { + "internalType": "uint112", + "name": "deposit", + "type": "uint112" + }, + { + "internalType": "bool", + "name": "staked", + "type": "bool" + }, + { + "internalType": "uint112", + "name": "stake", + "type": "uint112" + }, + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + }, + { + "internalType": "uint48", + "name": "withdrawTime", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getDepositInfo", + "outputs": [ + { + "components": [ + { + "internalType": "uint112", + "name": "deposit", + "type": "uint112" + }, + { + "internalType": "bool", + "name": "staked", + "type": "bool" + }, + { + "internalType": "uint112", + "name": "stake", + "type": "uint112" + }, + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + }, + { + "internalType": "uint48", + "name": "withdrawTime", + "type": "uint48" + } + ], + "internalType": "struct IStakeManager.DepositInfo", + "name": "info", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + } + ], + "name": "getSenderAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation", + "name": "userOp", + "type": "tuple" + } + ], + "name": "getUserOpHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation[]", + "name": "userOps", + "type": "tuple[]" + }, + { + "internalType": "contract IAggregator", + "name": "aggregator", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", + "name": "opsPerAggregator", + "type": "tuple[]" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "name": "handleAggregatedOps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation[]", + "name": "ops", + "type": "tuple[]" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "name": "handleOps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "incrementNonce", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "address", + "name": "paymaster", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + } + ], + "internalType": "struct EntryPoint.MemoryUserOp", + "name": "mUserOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "prefund", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "contextOffset", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preOpGas", + "type": "uint256" + } + ], + "internalType": "struct EntryPoint.UserOpInfo", + "name": "opInfo", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + } + ], + "name": "innerHandleOp", + "outputs": [ + { + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint192", + "name": "", + "type": "uint192" + } + ], + "name": "nonceSequenceNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation", + "name": "op", + "type": "tuple" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes", + "name": "targetCallData", + "type": "bytes" + } + ], + "name": "simulateHandleOp", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation", + "name": "userOp", + "type": "tuple" + } + ], + "name": "simulateValidation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + } + ], + "name": "withdrawStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } +] \ No newline at end of file diff --git a/v2-subgraph/abis/LightAccount.json b/v2-subgraph/abis/LightAccount.json new file mode 100644 index 0000000..963c582 --- /dev/null +++ b/v2-subgraph/abis/LightAccount.json @@ -0,0 +1,640 @@ +[ + { + "inputs": [ + { + "internalType": "contract IEntryPoint", + "name": "anEntryPoint", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ArrayLengthMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "NotAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "contract IEntryPoint", + "name": "entryPoint", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "LightAccountInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "addDeposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "entryPoint", + "outputs": [ + { + "internalType": "contract IEntryPoint", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "func", + "type": "bytes" + } + ], + "name": "execute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "dest", + "type": "address[]" + }, + { + "internalType": "bytes[]", + "name": "func", + "type": "bytes[]" + } + ], + "name": "executeBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "dest", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "value", + "type": "uint256[]" + }, + { + "internalType": "bytes[]", + "name": "func", + "type": "bytes[]" + } + ], + "name": "executeBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "anOwner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "digest", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "isValidSignature", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155BatchReceived", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "tokensReceived", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "verificationGasLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxFeePerGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxPriorityFeePerGas", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct UserOperation", + "name": "userOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "missingAccountFunds", + "type": "uint256" + } + ], + "name": "validateUserOp", + "outputs": [ + { + "internalType": "uint256", + "name": "validationData", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawDepositTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } +] \ No newline at end of file diff --git a/v2-subgraph/abis/Matching.json b/v2-subgraph/abis/Matching.json new file mode 100644 index 0000000..a0b8a9e --- /dev/null +++ b/v2-subgraph/abis/Matching.json @@ -0,0 +1,764 @@ +[ + { + "inputs": [ + { + "internalType": "contract ISubAccounts", + "name": "_accounts", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "M_AccountAlreadyExists", + "type": "error" + }, + { + "inputs": [], + "name": "M_AccountNotReturned", + "type": "error" + }, + { + "inputs": [], + "name": "M_ArrayLengthMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "M_MismatchedModule", + "type": "error" + }, + { + "inputs": [], + "name": "M_OnlyAllowedModule", + "type": "error" + }, + { + "inputs": [], + "name": "M_OnlyTradeExecutor", + "type": "error" + }, + { + "inputs": [], + "name": "OV_ActionExpired", + "type": "error" + }, + { + "inputs": [], + "name": "OV_InvalidActionOwner", + "type": "error" + }, + { + "inputs": [], + "name": "OV_InvalidSignature", + "type": "error" + }, + { + "inputs": [], + "name": "OV_NeedDeregister", + "type": "error" + }, + { + "inputs": [], + "name": "OV_SessionKeyInvalid", + "type": "error" + }, + { + "inputs": [], + "name": "OV_SignerNotOwnerOrSessionKeyExpired", + "type": "error" + }, + { + "inputs": [], + "name": "SAM_AlreadyRequestedWithdraw", + "type": "error" + }, + { + "inputs": [], + "name": "SAM_CooldownNotElapsed", + "type": "error" + }, + { + "inputs": [], + "name": "SAM_CooldownNotStarted", + "type": "error" + }, + { + "inputs": [], + "name": "SAM_NotOwnerAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "DepositedSubAccount", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "module", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "ModuleAllowed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sessionKeyPublicAddress", + "type": "address" + } + ], + "name": "SessionKeyCooldown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sessionKey", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + } + ], + "name": "SessionKeyRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "executor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "canExecute", + "type": "bool" + } + ], + "name": "TradeExecutorSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "WithdrawAccountCooldown", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "WithdrewSubAccount", + "type": "event" + }, + { + "inputs": [], + "name": "ACTION_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEREGISTER_KEY_COOLDOWN", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "WITHDRAW_COOLDOWN", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "module", + "type": "address" + } + ], + "name": "allowedModules", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "completeWithdrawAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IManager", + "name": "manager", + "type": "address" + } + ], + "name": "createSubAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "depositSubAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "depositSubAccountFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sessionKey", + "type": "address" + } + ], + "name": "deregisterSessionKey", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "subaccountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "contract IMatchingModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "signer", + "type": "address" + } + ], + "internalType": "struct IActionVerifier.Action", + "name": "action", + "type": "tuple" + } + ], + "name": "getActionHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sessionKey", + "type": "address" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + } + ], + "name": "registerSessionKey", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "requestWithdrawAccount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "sessionKeys", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "module", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "setAllowedModule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tradeExecutor", + "type": "address" + }, + { + "internalType": "bool", + "name": "canExecute", + "type": "bool" + } + ], + "name": "setTradeExecutor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subAccountToOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subAccounts", + "outputs": [ + { + "internalType": "contract ISubAccounts", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tradeExecutor", + "type": "address" + } + ], + "name": "tradeExecutors", + "outputs": [ + { + "internalType": "bool", + "name": "canExecuteTrades", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "subaccountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "contract IMatchingModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "signer", + "type": "address" + } + ], + "internalType": "struct IActionVerifier.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "actionData", + "type": "bytes" + } + ], + "name": "verifyAndMatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "withdrawTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/v2-subgraph/abis/RFQModule.json b/v2-subgraph/abis/RFQModule.json new file mode 100644 index 0000000..d6c9869 --- /dev/null +++ b/v2-subgraph/abis/RFQModule.json @@ -0,0 +1,445 @@ +[ + { + "inputs": [ + { + "internalType": "contract IMatching", + "name": "_matching", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "_quoteAsset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_feeRecipient", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BM_NonceAlreadyUsed", + "type": "error" + }, + { + "inputs": [], + "name": "BM_OnlyMatching", + "type": "error" + }, + { + "inputs": [], + "name": "RFQM_FeeTooHigh", + "type": "error" + }, + { + "inputs": [], + "name": "RFQM_InvalidActionsLength", + "type": "error" + }, + { + "inputs": [], + "name": "RFQM_InvalidSubaccountId", + "type": "error" + }, + { + "inputs": [], + "name": "RFQM_InvalidTakerHash", + "type": "error" + }, + { + "inputs": [], + "name": "RFQM_SignedAccountMismatch", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "recipient", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "takerFee", + "type": "uint256" + } + ], + "name": "FeeCharged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "NonceUsed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "maker", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "taker", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "quoteAmt", + "type": "int256" + }, + { + "internalType": "int256", + "name": "baseAmt", + "type": "int256" + } + ], + "indexed": false, + "internalType": "struct IRfqModule.MatchedOrderData[]", + "name": "trades", + "type": "tuple[]" + } + ], + "name": "RFQTradeCompleted", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "subaccountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IMatchingModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "internalType": "struct IMatchingModule.VerifiedAction[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "actionDataBytes", + "type": "bytes" + } + ], + "name": "executeAction", + "outputs": [ + { + "internalType": "uint256[]", + "name": "newAccIds", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "newAccOwners", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IPerpAsset", + "name": "", + "type": "address" + } + ], + "name": "isPerpAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "matching", + "outputs": [ + { + "internalType": "contract IMatching", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "quoteAsset", + "outputs": [ + { + "internalType": "contract IAsset", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_feeRecipient", + "type": "uint256" + } + ], + "name": "setFeeRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IPerpAsset", + "name": "_perpAsset", + "type": "address" + }, + { + "internalType": "bool", + "name": "isPerp", + "type": "bool" + } + ], + "name": "setPerpAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subAccounts", + "outputs": [ + { + "internalType": "contract ISubAccounts", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "usedNonces", + "outputs": [ + { + "internalType": "bool", + "name": "used", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/v2-subgraph/abis/SubAccounts.json b/v2-subgraph/abis/SubAccounts.json new file mode 100644 index 0000000..7f70084 --- /dev/null +++ b/v2-subgraph/abis/SubAccounts.json @@ -0,0 +1,25645 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "AC_CannotChangeToSameManager", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "AC_CannotTransferAssetToOneself", + "type": "error" + }, + { + "inputs": [], + "name": "AC_InvalidNonce", + "type": "error" + }, + { + "inputs": [], + "name": "AC_InvalidPermitSignature", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "manager", + "type": "address" + }, + { + "internalType": "address", + "name": "approved", + "type": "address" + } + ], + "name": "AC_NotOwnerOrERC721Approved", + "type": "error" + }, + { + "inputs": [], + "name": "AC_OnlyAsset", + "type": "error" + }, + { + "inputs": [], + "name": "AC_OnlyManager", + "type": "error" + }, + { + "inputs": [], + "name": "AC_SignatureExpired", + "type": "error" + }, + { + "inputs": [], + "name": "AC_TooManyTransfers", + "type": "error" + }, + { + "inputs": [], + "name": "DL_DeltasTooLong", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "subIdAllowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assetAllowance", + "type": "uint256" + } + ], + "name": "NotEnoughSubIdOrAssetAllowances", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "AccountBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "AccountCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "oldManager", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newManager", + "type": "address" + } + ], + "name": "AccountManagerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "name": "AssetTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "assetAndSubId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "preBalance", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "postBalance", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "name": "BalanceAdjusted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "wordPos", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mask", + "type": "uint256" + } + ], + "name": "UnorderedNonceInvalidated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetAdjustment", + "name": "adjustment", + "type": "tuple" + }, + { + "internalType": "bool", + "name": "triggerAssetHook", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "name": "assetAdjustment", + "outputs": [ + { + "internalType": "int256", + "name": "postAdjustmentBalance", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + } + ], + "name": "balanceAndOrder", + "outputs": [ + { + "internalType": "int240", + "name": "balance", + "type": "int240" + }, + { + "internalType": "uint16", + "name": "order", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "_manager", + "type": "address" + } + ], + "name": "createAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "newId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "_manager", + "type": "address" + } + ], + "name": "createAccountWithApproval", + "outputs": [ + { + "internalType": "uint256", + "name": "newId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "getAccountBalances", + "outputs": [ + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "balance", + "type": "int256" + } + ], + "internalType": "struct ISubAccounts.AssetBalance[]", + "name": "assetBalances", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + } + ], + "name": "getBalance", + "outputs": [ + { + "internalType": "int256", + "name": "balance", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "getUniqueAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "uniqueAssets", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "heldAssets", + "outputs": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint96", + "name": "subId", + "type": "uint96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "wordPos", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mask", + "type": "uint256" + } + ], + "name": "invalidateUnorderedNonces", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastAccountId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "lastAccountTradeId", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastTradeId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "name": "manager", + "outputs": [ + { + "internalType": "contract IManager", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetAdjustment", + "name": "adjustment", + "type": "tuple" + } + ], + "name": "managerAdjustment", + "outputs": [ + { + "internalType": "int256", + "name": "postAdjustmentBalance", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "negativeAssetAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "negativeSubIdAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wordPosition", + "type": "uint256" + } + ], + "name": "nonceBitmap", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]" + } + ], + "internalType": "struct IAllowances.PermitAllowance", + "name": "allowancePermit", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetTransfer", + "name": "assetTransfer", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]" + } + ], + "internalType": "struct IAllowances.PermitAllowance", + "name": "allowancePermit", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "permitAndSubmitTransfer", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetTransfer[]", + "name": "assetTransfers", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + }, + { + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]" + } + ], + "internalType": "struct IAllowances.PermitAllowance[]", + "name": "allowancePermits", + "type": "tuple[]" + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + } + ], + "name": "permitAndSubmitTransfers", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "positiveAssetAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "positiveSubIdAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "allowances", + "type": "tuple[]" + } + ], + "name": "setAssetAllowances", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ], + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "allowances", + "type": "tuple[]" + } + ], + "name": "setSubIdAllowances", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetTransfer", + "name": "assetTransfer", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "name": "submitTransfer", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ], + "internalType": "struct ISubAccounts.AssetTransfer[]", + "name": "assetTransfers", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "name": "submitTransfers", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x6101406040525f600b555f600c5534801562000019575f80fd5b50604051620050de380380620050de8339810160408190526200003c91620001f2565b604051806040016040528060048152602001634c79726160e01b815250604051806040016040528060018152602001603160f81b81525083838160049081620000869190620002e4565b506005620000958282620002e4565b5050825160209384012082519284019290922060e08390526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818901819052818301979097526060810194909452608080850193909352308483018190528151808603909301835260c0948501909152815191909601209052929092526101205250506001600a5550620003ac565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000158575f80fd5b81516001600160401b038082111562000175576200017562000134565b604051601f8301601f19908116603f01168101908282118183101715620001a057620001a062000134565b81604052838152602092508683858801011115620001bc575f80fd5b5f91505b83821015620001df5785820183015181830184015290820190620001c0565b5f93810190920192909252949350505050565b5f806040838503121562000204575f80fd5b82516001600160401b03808211156200021b575f80fd5b620002298683870162000148565b935060208501519150808211156200023f575f80fd5b506200024e8582860162000148565b9150509250929050565b600181811c908216806200026d57607f821691505b6020821081036200028c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002df575f81815260208120601f850160051c81016020861015620002ba5750805b601f850160051c820191505b81811015620002db57828155600101620002c6565b5050505b505050565b81516001600160401b0381111562000300576200030062000134565b620003188162000311845462000258565b8462000292565b602080601f8311600181146200034e575f8415620003365750858301515b5f19600386901b1c1916600185901b178555620002db565b5f85815260208120601f198616915b828110156200037e578886015182559484019460019091019084016200035d565b50858210156200039c57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516101005161012051614cea620003f45f395f61252f01525f61257e01525f61255901525f6124b201525f6124dc01525f6125060152614cea5ff3fe608060405234801561000f575f80fd5b50600436106102b7575f3560e01c80636352211e11610171578063b99b4533116100d2578063daf1a90611610088578063e707e1d01161006e578063e707e1d0146106d7578063e985e9c514610718578063f698da2514610753575f80fd5b8063daf1a906146106b1578063e6e4f5af146106c4575f80fd5b8063c87b56dd116100b8578063c87b56dd14610645578063cdfa628a14610658578063d4d2a69f14610692575f80fd5b8063b99b453314610612578063c756970114610625575f80fd5b8063a22cb46511610127578063a513cab81161010d578063a513cab81461058e578063ad1f3ff8146105ec578063b88d4fde146105ff575f80fd5b8063a22cb4651461053b578063a3b9b6d71461054e575f80fd5b806370a082311161015757806370a082311461050d5780638c9a76d71461052057806395d89b4114610533575f80fd5b80636352211e146104f1578063708c359314610504575f80fd5b80633ff9dcb11161021b5780634fe02b44116101d157806352bcfd5b116101b757806352bcfd5b1461049c57806358e106d5146104a55780635d13e0eb146104b8575f80fd5b80634fe02b441461044a5780635298145714610474575f80fd5b80634997e514116102015780634997e514146103eb57806349a21b37146104245780634fc566ee14610437575f80fd5b80633ff9dcb1146103c557806342842e0e146103d8575f80fd5b8063095ea7b311610270578063133572ba11610256578063133572ba1461037f57806321a8c3af1461039257806323b872dd146103b2575f80fd5b8063095ea7b3146103595780630b1783001461036c575f80fd5b806306fdde03116102a057806306fdde03146102f85780630806e6401461030d578063081812fc1461032e575f80fd5b806301ffc9a7146102bb57806302176d39146102e3575b5f80fd5b6102ce6102c9366004613cc9565b61075b565b60405190151581526020015b60405180910390f35b6102f66102f1366004613e72565b6107ac565b005b610300610850565b6040516102da9190613f14565b61032061031b366004613f26565b6108e0565b6040519081526020016102da565b61034161033c366004613f5b565b610937565b6040516001600160a01b0390911681526020016102da565b6102f6610367366004613f72565b61095c565b61032061037a36600461405c565b610a70565b61032061038d366004614117565b610b08565b6103a56103a0366004613f5b565b610b13565b6040516102da919061414e565b6102f66103c036600461418e565b610b9c565b6102f66103d33660046141bb565b610c13565b6102f66103e636600461418e565b610c73565b6103206103f93660046141db565b600260209081525f948552604080862082529385528385208152918452828420909152825290205481565b6102f6610432366004614241565b610c8d565b6103206104453660046142a5565b610c98565b610320610458366004613f72565b601060209081525f928352604080842090915290825290205481565b610341610482366004613f5b565b600d6020525f90815260409020546001600160a01b031681565b610320600c5481565b6103206104b3366004614346565b610ccd565b6103206104c63660046141db565b600360209081525f948552604080862082529385528385208152918452828420909152825290205481565b6103416104ff366004613f5b565b610cf6565b610320600b5481565b61032061051b3660046143ad565b610d5a565b61032061052e3660046144b8565b610df2565b610300610e79565b6102f661054936600461450b565b610e88565b61032061055c366004614537565b5f6020818152958152604080822087529481528481208652928352838320855290825282822090935291825290205481565b6105cf61059c366004613f26565b600e60209081525f9384526040808520825292845282842090528252902054601d81900b90600160f01b900461ffff1682565b60408051601d9390930b835261ffff9091166020830152016102da565b6103206105fa366004614592565b610e97565b6102f661060d3660046145d5565b610eb7565b61032061062036600461463d565b610f35565b610638610633366004613f5b565b610f9f565b6040516102da9190614657565b610300610653366004613f5b565b611132565b61066b6106663660046141bb565b6111a1565b604080516001600160a01b0390931683526001600160601b039091166020830152016102da565b6103206106a0366004613f5b565b60116020525f908152604090205481565b6102f66106bf366004614788565b6111e6565b6103206106d23660046147d3565b61121c565b6103206106e5366004614537565b600160209081525f9586526040808720825294865284862081529285528385208352908452828420909152825290205481565b6102ce610726366004614117565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b610320611233565b5f6001600160e01b031982166380ac58cd60e01b148061078b57506001600160e01b03198216635b5e139f60e01b145b806107a657506301ffc9a760e01b6001600160e01b03198316145b92915050565b33836107b88282611241565b6108305781816107c783610cf6565b5f848152600d60205260409020546001600160a01b03166107e785610937565b60405163a4c6f48b60e01b81526001600160a01b0395861660048201526024810194909452918416604484015283166064830152909116608482015260a4015b60405180910390fd5b5f61083a86610cf6565b905061084886828787611279565b505050505050565b60606004805461085f9061481b565b80601f016020809104026020016040519081016040528092919081815260200182805461088b9061481b565b80156108d65780601f106108ad576101008083540402835291602001916108d6565b820191905f5260205f20905b8154815290600101906020018083116108b957829003601f168201915b5050505050905090565b5f838152600e602090815260408083206001600160a01b03861684528252808320848452825291829020825180840190935254601d81900b808452600160f01b90910461ffff1692909101919091525b9392505050565b5f61094182611453565b505f908152600860205260409020546001600160a01b031690565b5f61096682610cf6565b9050806001600160a01b0316836001600160a01b0316036109d35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610827565b336001600160a01b03821614806109ef57506109ef8133610726565b610a615760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610827565b610a6b83836114b9565b505050565b5f610a79611526565b5f5b84811015610ae357610ad3868683818110610a9857610a9861484d565b9050602002810190610aaa9190614861565b858584818110610abc57610abc61484d565b9050602002810190610ace919061487f565b61157f565b610adc816148d6565b9050610a7b565b50610af08989898961172b565b9050610afc6001600a55565b98975050505050505050565b5f6109308383611aa2565b5f818152600f602090815260408083208054825181850281018501909352808352606094610b959484015b82821015610b8c575f84815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b90046001600160601b031681830152825260019092019101610b3e565b50505050611b2f565b5092915050565b610ba63382611241565b610c085760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610827565b610a6b838383611bc5565b335f8181526010602090815260408083208684528252918290208054851790558151928352820184905281018290527ff5b8d10373f7c61b96de50a37accb846b8592b69db427709ef6e99bb6cf70b679060600160405180910390a15050565b610a6b83838360405180602001604052805f815250610eb7565b610a6b83838361157f565b5f610ca1611526565b610cac84848461157f565b610cb7878787611db0565b9050610cc36001600a55565b9695505050505050565b5f610cd6611526565b610ce28585858561172b565b9050610cee6001600a55565b949350505050565b5f818152600660205260408120546001600160a01b0316806107a65760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610827565b5f6001600160a01b038216610dd75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610827565b506001600160a01b03165f9081526007602052604090205490565b60208301515f90336001600160a01b03821614610e2257604051638830ee8360e01b815260040160405180910390fd5b5f600c5f8154610e31906148d6565b918290555090505f610e44878388611e68565b508092508195505050610e6f875f01518333610e698b602001518c604001518761203a565b896120d3565b5050509392505050565b60606005805461085f9061481b565b610e9333838361214b565b5050565b5f610ea0611526565b610eab848484611db0565b90506109306001600a55565b610ec13383611241565b610f235760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610827565b610f2f84848484612218565b50505050565b80515f818152600d60205260408120549091906001600160a01b0316338114610f71576040516316e82ce760e21b815260040160405180910390fd5b5f600c5f8154610f80906148d6565b91829055509050610f9385826001611e68565b50909695505050505050565b5f818152600f60205260409020546060908067ffffffffffffffff811115610fc957610fc9613d03565b60405190808252806020026020018201604052801561102457816020015b61101160405180606001604052805f6001600160a01b031681526020015f81526020015f81525090565b815260200190600190039081610fe75790505b5091505f5b8181101561112b575f848152600f602052604081208054839081106110505761105061484d565b5f918252602080832060408051808201825293909101546001600160a01b038082168552600160a01b9091046001600160601b039081168585019081528b8752600e85528387208651841688528552838720815183168852855295839020835180850185529054601d81810b8352600160f01b90910461ffff1682870152845160608101865287519094168452965190911693820193909352825190940b908401528651919350919086908590811061110b5761110b61484d565b602002602001018190525050508080611123906148d6565b915050611029565b5050919050565b606061113d82611453565b5f61115260408051602081019091525f815290565b90505f8151116111705760405180602001604052805f815250610930565b8061117a846122a1565b60405160200161118b9291906148ee565b6040516020818303038152906040529392505050565b600f602052815f5260405f2081815481106111ba575f80fd5b5f918252602090912001546001600160a01b0381169250600160a01b90046001600160601b0316905082565b33836111f28282611241565b6112015781816107c783610cf6565b6112158561120e87610cf6565b868661233e565b5050505050565b5f6112278483611aa2565b905061093083826114b9565b5f61123c6124a6565b905090565b5f61124c83836125cc565b15611259575060016107a6565b505f818152600d60205260409020546001600160a01b0316331492915050565b80515f5b81811015610848578281815181106112975761129761484d565b6020026020010151604001515f808881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106112e7576112e761484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106113245761132461484d565b60200260200101516020015181526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f20819055508281815181106113745761137461484d565b60200260200101516060015160015f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106113c5576113c561484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106114025761140261484d565b60200260200101516020015181526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f2081905550808061144b906148d6565b91505061127d565b5f818152600660205260409020546001600160a01b03166114b65760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610827565b50565b5f81815260086020526040902080546001600160a01b0319166001600160a01b03841690811790915581906114ed82610cf6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6002600a54036115785760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610827565b6002600a55565b42836060013510156115a4576040516356c807b760e01b815260040160405180910390fd5b5f6115b28460400135610cf6565b90505f6115c66115c18661491c565b612648565b9050611610826115d583612883565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128cf92505050565b61162d576040516307b56ed960e41b815260040160405180910390fd5b61163b828660200135612a1e565b6116b360408601358361165160208901896143ad565b61165e60808a018a6149b4565b808060200260200160405190810160405280939291908181526020015f905b828210156116a95761169a606083028601368190038101906149f9565b8152602001906001019061167d565b505050505061233e565b6112156040860135836116c960208901896143ad565b6116d660a08a018a614a13565b808060200260200160405190810160405280939291908181526020015f905b828210156117215761171260808302860136819003810190614a59565b815260200190600101906116f5565b5050505050611279565b5f80611738856002614a73565b67ffffffffffffffff81111561175057611750613d03565b604051908082528060200260200182016040528015611779578160200160208202803683370190505b5090505f611788866002614a73565b67ffffffffffffffff8111156117a0576117a0613d03565b6040519080825280602002602001820160405280156117d957816020015b6117c6613c58565b8152602001906001900390816117be5790505b5090505f600c5f81546117eb906148d6565b918290555093505f5b878110156119f85788888281811061180e5761180e61484d565b905060c002015f01355f14801561183f57508888828181106118325761183261484d565b905060c00201602001355f145b6119e8575f8061186a868c8c8681811061185b5761185b61484d565b905060c002015f013586612a7d565b9094509150611895868c8c868181106118855761188561484d565b905060c002016020013586612a7d565b90945090505f806118bd8d8d878181106118b1576118b161484d565b905060c002018a612acc565b9150915061195d60405180606001604052808f8f898181106118e1576118e161484d565b905060c0020160400160208101906118f991906143ad565b6001600160a01b031681526020018f8f898181106119195761191961484d565b905060c00201606001356001600160601b03168152602001848152508886815181106119475761194761484d565b6020026020010151612ccb90919063ffffffff16565b6119e360405180606001604052808f8f8981811061197d5761197d61484d565b905060c00201604001602081019061199591906143ad565b6001600160a01b031681526020018f8f898181106119b5576119b561484d565b905060c00201606001356001600160601b03168152602001838152508885815181106119475761194761484d565b505050505b6119f1816148d6565b90506117f4565b505f5b81811015611a96575f611a26848381518110611a1957611a1961484d565b6020026020010151612e2d565b9050611a83858381518110611a3d57611a3d61484d565b60200260200101518733848c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506120d392505050565b5080611a8e816148d6565b9150506119fb565b50505050949350505050565b5f600b5f8154611ab1906148d6565b91829055505f818152600d6020526040902080546001600160a01b0319166001600160a01b0385161790559050611ae88382612ee3565b816001600160a01b031681846001600160a01b03167f32b5641993c697cfd9228343551f8959c18f92052f584f1f103ef0699cd221c860405160405180910390a492915050565b60605f825167ffffffffffffffff811115611b4c57611b4c613d03565b604051908082528060200260200182016040528015611b75578160200160208202803683370190505b5091505f5b8351811015611bbc57611baa83858381518110611b9957611b9961484d565b60200260200101515f015184613078565b9150611bb5816148d6565b9050611b7a565b50808252915091565b826001600160a01b0316611bd882610cf6565b6001600160a01b031614611c3c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610827565b6001600160a01b038216611c9e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610827565b611cab83838360016130c9565b826001600160a01b0316611cbe82610cf6565b6001600160a01b031614611d225760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610827565b5f81815260086020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526007855283862080545f1901905590871680865283862080546001019055868652600690945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f600c5f8154611dbf906148d6565b918290555090505f80611dd28684612acc565b9092509050611e3786358433611dfc611df160608c0160408d016143ad565b8b606001358861203a565b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506120d392505050565b611e5f60208701358433611dfc611e5460608c0160408d016143ad565b8b606001358761203a565b50509392505050565b82515f908152600e60209081526040808320828701516001600160a01b03168452825280832081870151845282528083208651845260119092528220849055805482918291601d0b8515611ed857611ec28888833361314f565b9095509250611ed18186614a8a565b9350611ef7565b6060880151611ee79082614aa9565b606089015190955093505f841292505b611f0085613223565b82547fffff000000000000000000000000000000000000000000000000000000000000166001600160f01b03919091161782558015801590611f40575084155b15611f635787518254611f5e9190600160f01b900461ffff166132a2565b611fa9565b80158015611f7057508415155b15611fa957611f8b885f015189602001518a604001516133f6565b825461ffff91909116600160f01b026001600160f01b039091161782555b6040888101516020808b01518b515f908152600d8352849020548c5185518a81529384018790529483018a905260608084018d90529190911b6bffffffffffffffffffffffff1916909217926001600160a01b0390921691907f503ec09c1b4597d114eca849f7013c8c457988802d1dc5da49a0c461b5f886589060800160405180910390a4505093509350939050565b6040805160018082528183019092526060915f9190816020015b604080516060810182525f80825260208083018290529282015282525f199092019101816120545790505090506040518060600160405280866001600160a01b03168152602001856001600160601b0316815260200184815250815f815181106120c0576120c061484d565b6020908102919091010152949350505050565b5f858152600d602052604090819020549051639e4c9ebd60e01b81526001600160a01b0390911690639e4c9ebd906121179088908890889088908890600401614ad0565b5f604051808303815f87803b15801561212e575f80fd5b505af1158015612140573d5f803e3d5ffd5b505050505050505050565b816001600160a01b0316836001600160a01b0316036121ac5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610827565b6001600160a01b038381165f81815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612223848484611bc5565b61222f8484848461348c565b610f2f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610827565b60605f6122ad836135dc565b60010190505f8167ffffffffffffffff8111156122cc576122cc613d03565b6040519080825280601f01601f1916602001820160405280156122f6576020820181803683370190505b5090508181016020015b5f19017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461230057509392505050565b80515f5b818110156108485782818151811061235c5761235c61484d565b60200260200101516020015160025f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106123ad576123ad61484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f208190555082818151811061240e5761240e61484d565b60200260200101516040015160035f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f85848151811061245f5761245f61484d565b602090810291909101810151516001600160a01b0390811683528282019390935260409182015f90812093891681529290529020558061249e816148d6565b915050612342565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156124fe57507f000000000000000000000000000000000000000000000000000000000000000046145b1561252857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b5f806125d783610cf6565b9050806001600160a01b0316846001600160a01b0316148061261d57506001600160a01b038082165f9081526009602090815260408083209388168352929052205460ff165b80610cee5750836001600160a01b031661263684610937565b6001600160a01b031614949350505050565b60808101515160a0820151515f9190828267ffffffffffffffff81111561267157612671613d03565b60405190808252806020026020018201604052801561269a578160200160208202803683370190505b5090505f5b838110156126fa576126cd866080015182815181106126c0576126c061484d565b60200260200101516136bd565b8282815181106126df576126df61484d565b60209081029190910101526126f3816148d6565b905061269f565b505f8267ffffffffffffffff81111561271557612715613d03565b60405190808252806020026020018201604052801561273e578160200160208202803683370190505b5090505f5b8381101561279e576127718760a0015182815181106127645761276461484d565b602002602001015161372e565b8282815181106127835761278361484d565b6020908102919091010152612797816148d6565b9050612743565b507f70d5940fb1a5c6829d2c3655d0d5a62c8a51232dc6a01422e14e874f81956045865f0151876020015188604001518960600151866040516020016127e49190614b68565b604051602081830303815290604052805190602001208660405160200161280b9190614b68565b60408051601f198184030181528282528051602091820120908301989098526001600160a01b03909616958101959095526060850193909352608084019190915260a083015260c082015260e08101919091526101000160405160208183030381529060405280519060200120945050505050919050565b5f6107a661288f6124a6565b8360405161190160f01b602082015260228101839052604281018290525f9060620160405160208183030381529060405280519060200120905092915050565b5f805f6128dc8585613793565b90925090505f8160048111156128f4576128f4614b9d565b1480156129125750856001600160a01b0316826001600160a01b0316145b1561292257600192505050610930565b5f80876001600160a01b0316631626ba7e60e01b8888604051602401612949929190614bb1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990941693909317909252905161299c9190614bc9565b5f60405180830381855afa9150503d805f81146129d4576040519150601f19603f3d011682016040523d82523d5f602084013e6129d9565b606091505b50915091508180156129ec575080516020145b8015610afc57508051630b135d3f60e11b90612a119083016020908101908401614bda565b1498975050505050505050565b6001600160a01b0382165f908152601060209081526040808320600885901c808552925282208054600160ff861690811b918218928390559293909190818316900361084857604051632cb614b360e11b815260040160405180910390fd5b5f805f612a8b8686866137d2565b90508019612abe5784868581518110612aa657612aa661484d565b60209081029190910101525050506001810181612ac4565b83925090505b935093915050565b5f806020840135843503612aff5760405163786025f560e01b815233600482015260208501356024820152604401610827565b6040805160a081018252853581525f916020820190612b2490606089019089016143ad565b6001600160a01b0316815260608701356020820152604001612b496080880135614bf1565b81526020018660a0013581525090505f6040518060a0016040528087602001358152602001876040016020810190612b8191906143ad565b6001600160a01b0316815260608089013560208301526080890135604083015260a089013591015290505f80612bb984886001611e68565b92509250505f80612bcc858a6001611e68565b9250925050828015612be85750612be633875f0151611241565b155b15612c0357612c0386612bfd885f0151610cf6565b33613841565b808015612c1a5750612c1833865f0151611241565b155b15612c2f57612c2f85612bfd875f0151610cf6565b60208a01358a357f5aad14bb846a4654716f2474a7ba1eff7a20526888b58165c7b7bea4737a46c9612c6760608e0160408f016143ad565b8d606001358e608001358f60a001358f604051612cb19594939291906001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a3509195509093505050505b9250929050565b5f5b6064811015612e1357815f01516001600160a01b031683602001518260648110612cf957612cf961484d565b6020020151516001600160a01b0316148015612d48575081602001516001600160601b031683602001518260648110612d3457612d3461484d565b6020020151602001516001600160601b0316145b15612d8557816040015183602001518260648110612d6857612d6861484d565b6020020151604001818151612d7d9190614aa9565b905250505050565b60208301515f908260648110612d9d57612d9d61484d565b6020020151516001600160a01b0316148015612ddf575082602001518160648110612dca57612dca61484d565b6020020151602001516001600160601b03165f145b15612e0b578183602001518260648110612dfb57612dfb61484d565b6020020152505080516001019052565b600101612ccd565b5060405163f2e268f160e01b815260040160405180910390fd5b60605f825f015167ffffffffffffffff811115612e4c57612e4c613d03565b604051908082528060200260200182016040528015612e9557816020015b604080516060810182525f80825260208083018290529282015282525f19909201910181612e6a5790505b5090505f5b8151811015610b955783602001518160648110612eb957612eb961484d565b6020020151828281518110612ed057612ed061484d565b6020908102919091010152600101612e9a565b6001600160a01b038216612f395760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610827565b5f818152600660205260409020546001600160a01b031615612f9d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610827565b612faa5f838360016130c9565b5f818152600660205260409020546001600160a01b03161561300e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610827565b6001600160a01b0382165f81815260076020908152604080832080546001019055848352600690915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f613084848484613943565b19610b9557828483806001019450815181106130a2576130a261484d565b60200260200101906001600160a01b031690816001600160a01b0316815250505092915050565b6001811115610f2f576001600160a01b0384161561310e576001600160a01b0384165f9081526007602052604081208054839290613108908490614c0b565b90915550505b6001600160a01b03831615610f2f576001600160a01b0383165f9081526007602052604081208054839290613144908490614c1e565b909155505050505050565b6020848101805186515f908152600d9093526040808420548151638503eba960e01b81528951600482015293516001600160a01b039081166024860152918901516044850152606089015160648501526080890151608485015260a4840188905260c48401879052811660e48401528481166101048401528392911690638503eba9906101240160408051808303815f875af11580156131f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132159190614c31565b915091505b94509492505050565b80601d81900b811461329d5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f34302062697473000000000000000000000000000000000000000000000000006064820152608401610827565b919050565b5f828152600f60205260409020546132bb600182614c0b565b8261ffff16146133bf575f838152600f602052604081206132dd600184614c0b565b815481106132ed576132ed61484d565b5f918252602080832060408051808201825291909301546001600160a01b03811682526001600160601b03600160a01b9091041681830152878452600f90915291208054919250829161ffff861690811061334a5761334a61484d565b5f91825260208083208451948201516001600160601b03908116600160a01b026001600160a01b03968716179190930155878352600e8152604080842086519095168452938152838320948101519091168252929092529020805461ffff8416600160f01b026001600160f01b039091161790555b5f838152600f602052604090208054806133db576133db614c54565b5f8281526020812082015f1990810191909155019055505050565b5f838152600f6020908152604080832081518083019092526001600160a01b0386168252918101613426856139cb565b6001600160601b039081169091528254600181810185555f9485526020808620855195820151909416600160a01b026001600160a01b03909516949094179290910191909155868352600f909152604090912054610cee9161348791614c0b565b613a36565b5f6001600160a01b0384163b156135d457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906134cf903390899088908890600401614c68565b6020604051808303815f875af1925050508015613509575060408051601f3d908101601f1916820190925261350691810190614c99565b60015b6135ba573d808015613536576040519150601f19603f3d011682016040523d82523d5f602084013e61353b565b606091505b5080515f036135b25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610827565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610cee565b506001610cee565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613624577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613650576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061366e57662386f26fc10000830492506010015b6305f5e1008310613686576305f5e100830492506008015b612710831061369a57612710830492506004015b606483106136ac576064830492506002015b600a83106107a65760010192915050565b604080517fce00941d7e1c6bca20b872d8e8b4f7adbc64efcdff14a640f818046af8e4292f60208083019190915283516001600160a01b03168284015283015160608201529082015160808201525f9060a0015b604051602081830303815290604052805190602001209050919050565b604080517fa49b507c25a3937a524e476a942debe3c058a467b1d5e8197a7b81683b85af8460208083019190915283516001600160a01b0316828401528301516060808301919091529183015160808201529082015160a08201525f9060c001613711565b5f8082516041036137c7576020830151604084015160608501515f1a6137bb87828585613a98565b94509450505050612cc4565b505f90506002612cc4565b5f805b82811015613836578481815181106137ef576137ef61484d565b60200260200101515f03613807575f19915050610930565b8385828151811061381a5761381a61484d565b60200260200101510361382e579050610930565b6001016137d5565b505f19949350505050565b82606001515f0361385157505050565b5f836060015113156138cf5782515f818152602081815260408083206001600160a01b03808816808652918452828520848a01805183168752908552838620848b0151875285528386208a51875260028652848720938752928552838620905190911685529092529091206060860151610a6b939291908590613b52565b82515f8181526001602090815260408083206001600160a01b03808816808652918452828520848a01805183168752908552838620848b0151875285528386208a51875260038652848720938752928552838620905190911685529092529091206060860151610a6b939291908590613b52565b5f805b82811015613836575f6001600160a01b031685828151811061396a5761396a61484d565b60200260200101516001600160a01b03160361398a575f19915050610930565b836001600160a01b03168582815181106139a6576139a661484d565b60200260200101516001600160a01b0316036139c3579050610930565b600101613946565b5f6001600160601b03821115613a325760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610827565b5090565b5f61ffff821115613a325760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201526536206269747360d01b6064820152608401610827565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613acd57505f9050600361321a565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613b1e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116613b46575f6001925092505061321a565b965f9650945050505050565b6001600160a01b0382165f9081526020858152604080832054918690528220549091613b7d84613c47565b9050828111613bad57613b908184614c0b565b6001600160a01b0386165f90815260208990526040902055613c3d565b613bb78284614c1e565b8111613c06576001600160a01b0385165f90815260208890526040812055613bdf8382614c0b565b613be99083614c0b565b6001600160a01b0386165f90815260208890526040902055613c3d565b6040516313985a0960e11b81523360048201526024810189905260448101859052606481018490526084810183905260a401610827565b5050505050505050565b5f80821215613a3257815f036107a6565b60405180604001604052805f8152602001613c71613c76565b905290565b60405180610c8001604052806064905b604080516060810182525f80825260208083018290529282015282525f19909201910181613c865790505090565b6001600160e01b0319811681146114b6575f80fd5b5f60208284031215613cd9575f80fd5b813561093081613cb4565b6001600160a01b03811681146114b6575f80fd5b803561329d81613ce4565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715613d3a57613d3a613d03565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d6957613d69613d03565b604052919050565b5f67ffffffffffffffff821115613d8a57613d8a613d03565b5060051b60200190565b5f60808284031215613da4575f80fd5b6040516080810181811067ffffffffffffffff82111715613dc757613dc7613d03565b6040529050808235613dd881613ce4565b808252506020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112613e10575f80fd5b81356020613e25613e2083613d71565b613d40565b82815260079290921b84018101918181019086841115613e43575f80fd5b8286015b84811015613e6757613e598882613d94565b835291830191608001613e47565b509695505050505050565b5f805f60608486031215613e84575f80fd5b833592506020840135613e9681613ce4565b9150604084013567ffffffffffffffff811115613eb1575f80fd5b613ebd86828701613e01565b9150509250925092565b5f5b83811015613ee1578181015183820152602001613ec9565b50505f910152565b5f8151808452613f00816020860160208601613ec7565b601f01601f19169290920160200192915050565b602081525f6109306020830184613ee9565b5f805f60608486031215613f38575f80fd5b833592506020840135613f4a81613ce4565b929592945050506040919091013590565b5f60208284031215613f6b575f80fd5b5035919050565b5f8060408385031215613f83575f80fd5b8235613f8e81613ce4565b946020939093013593505050565b5f8083601f840112613fac575f80fd5b50813567ffffffffffffffff811115613fc3575f80fd5b60208301915083602060c083028501011115612cc4575f80fd5b5f8083601f840112613fed575f80fd5b50813567ffffffffffffffff811115614004575f80fd5b602083019150836020828501011115612cc4575f80fd5b5f8083601f84011261402b575f80fd5b50813567ffffffffffffffff811115614042575f80fd5b6020830191508360208260051b8501011115612cc4575f80fd5b5f805f805f805f806080898b031215614073575f80fd5b883567ffffffffffffffff8082111561408a575f80fd5b6140968c838d01613f9c565b909a50985060208b01359150808211156140ae575f80fd5b6140ba8c838d01613fdd565b909850965060408b01359150808211156140d2575f80fd5b6140de8c838d0161401b565b909650945060608b01359150808211156140f6575f80fd5b506141038b828c0161401b565b999c989b5096995094979396929594505050565b5f8060408385031215614128575f80fd5b823561413381613ce4565b9150602083013561414381613ce4565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b81811015610f935783516001600160a01b031683529284019291840191600101614169565b5f805f606084860312156141a0575f80fd5b83356141ab81613ce4565b92506020840135613f4a81613ce4565b5f80604083850312156141cc575f80fd5b50508035926020909101359150565b5f805f80608085870312156141ee575f80fd5b84359350602085013561420081613ce4565b9250604085013561421081613ce4565b9150606085013561422081613ce4565b939692955090935050565b5f60c0828403121561423b575f80fd5b50919050565b5f805f60408486031215614253575f80fd5b833567ffffffffffffffff8082111561426a575f80fd5b6142768783880161422b565b9450602086013591508082111561428b575f80fd5b5061429886828701613fdd565b9497909650939450505050565b5f805f805f8061012087890312156142bb575f80fd5b6142c5888861422b565b955060c087013567ffffffffffffffff808211156142e1575f80fd5b6142ed8a838b01613fdd565b909750955060e0890135915080821115614305575f80fd5b6143118a838b0161422b565b9450610100890135915080821115614327575f80fd5b5061433489828a01613fdd565b979a9699509497509295939492505050565b5f805f8060408587031215614359575f80fd5b843567ffffffffffffffff80821115614370575f80fd5b61437c88838901613f9c565b90965094506020870135915080821115614394575f80fd5b506143a187828801613fdd565b95989497509550505050565b5f602082840312156143bd575f80fd5b813561093081613ce4565b5f60a082840312156143d8575f80fd5b60405160a0810181811067ffffffffffffffff821117156143fb576143fb613d03565b60405282358152905080602083013561441381613ce4565b806020830152506040830135604082015260608301356060820152608083013560808201525092915050565b80151581146114b6575f80fd5b5f82601f83011261445b575f80fd5b813567ffffffffffffffff81111561447557614475613d03565b614488601f8201601f1916602001613d40565b81815284602083860101111561449c575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f60e084860312156144ca575f80fd5b6144d485856143c8565b925060a08401356144e48161443f565b915060c084013567ffffffffffffffff8111156144ff575f80fd5b613ebd8682870161444c565b5f806040838503121561451c575f80fd5b823561452781613ce4565b915060208301356141438161443f565b5f805f805f60a0868803121561454b575f80fd5b85359450602086013561455d81613ce4565b9350604086013561456d81613ce4565b925060608601359150608086013561458481613ce4565b809150509295509295909350565b5f805f60e084860312156145a4575f80fd5b6145ae858561422b565b925060c084013567ffffffffffffffff8111156145c9575f80fd5b61429886828701613fdd565b5f805f80608085870312156145e8575f80fd5b84356145f381613ce4565b9350602085013561460381613ce4565b925060408501359150606085013567ffffffffffffffff811115614625575f80fd5b6146318782880161444c565b91505092959194509250565b5f60a0828403121561464d575f80fd5b61093083836143c8565b602080825282518282018190525f919060409081850190868401855b828110156146ab57815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101614673565b5091979650505050505050565b5f606082840312156146c8575f80fd5b6040516060810181811067ffffffffffffffff821117156146eb576146eb613d03565b60405290508082356146fc81613ce4565b8082525060208301356020820152604083013560408201525092915050565b5f82601f83011261472a575f80fd5b8135602061473a613e2083613d71565b82815260609283028501820192828201919087851115614758575f80fd5b8387015b8581101561477b5761476e89826146b8565b845292840192810161475c565b5090979650505050505050565b5f805f6060848603121561479a575f80fd5b8335925060208401356147ac81613ce4565b9150604084013567ffffffffffffffff8111156147c7575f80fd5b613ebd8682870161471b565b5f805f606084860312156147e5575f80fd5b83356147f081613ce4565b9250602084013561480081613ce4565b9150604084013561481081613ce4565b809150509250925092565b600181811c9082168061482f57607f821691505b60208210810361423b57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f823560be19833603018112614875575f80fd5b9190910192915050565b5f808335601e19843603018112614894575f80fd5b83018035915067ffffffffffffffff8211156148ae575f80fd5b602001915036819003821315612cc4575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016148e7576148e76148c2565b5060010190565b5f83516148ff818460208801613ec7565b835190830190614913818360208801613ec7565b01949350505050565b5f60c0823603121561492c575f80fd5b614934613d17565b61493d83613cf8565b8152602083013560208201526040830135604082015260608301356060820152608083013567ffffffffffffffff80821115614977575f80fd5b6149833683870161471b565b608084015260a085013591508082111561499b575f80fd5b506149a836828601613e01565b60a08301525092915050565b5f808335601e198436030181126149c9575f80fd5b83018035915067ffffffffffffffff8211156149e3575f80fd5b6020019150606081023603821315612cc4575f80fd5b5f60608284031215614a09575f80fd5b61093083836146b8565b5f808335601e19843603018112614a28575f80fd5b83018035915067ffffffffffffffff821115614a42575f80fd5b6020019150600781901b3603821315612cc4575f80fd5b5f60808284031215614a69575f80fd5b6109308383613d94565b80820281158282048414176107a6576107a66148c2565b8181035f831280158383131683831282161715610b9557610b956148c2565b8082018281125f831280158216821582161715614ac857614ac86148c2565b505092915050565b5f60a082018783526020878185015260406001600160a01b0380891682870152606060a08188015284895180875260c089019150858b0196505f5b81811015614b43578751805186168452878101516001600160601b031688850152860151868401529686019691830191600101614b0b565b50508781036080890152614b57818a613ee9565b9d9c50505050505050505050505050565b81515f9082906020808601845b83811015614b9157815185529382019390820190600101614b75565b50929695505050505050565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f610cee6040830184613ee9565b5f8251614875818460208701613ec7565b5f60208284031215614bea575f80fd5b5051919050565b5f600160ff1b8201614c0557614c056148c2565b505f0390565b818103818111156107a6576107a66148c2565b808201808211156107a6576107a66148c2565b5f8060408385031215614c42575f80fd5b8251915060208301516141438161443f565b634e487b7160e01b5f52603160045260245ffd5b5f6001600160a01b03808716835280861660208401525083604083015260806060830152610cc36080830184613ee9565b5f60208284031215614ca9575f80fd5b815161093081613cb456fea264697066735822122058f78fce00db557a584b351168f2404251162f709ec9cea495e36c829b641f7964736f6c63430008140033", + "sourceMap": "1013:25792:57:-:0;;;1331:1;1303:29;;1439:1;1413:27;;2213:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2464:602:45;;;;;;;;;;;;;-1:-1:-1;;;2464:602:45;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:602:45;;;2276:5:57;2283:7;1464:5:37;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:37;:17;1489:7;1479;:17;:::i;:::-;-1:-1:-1;;2550:22:45;;;;;;;2606:25;;;;;;;;;2787;;;;2822:31;;;;2882:13;2863:32;;;;-1:-1:-1;3642:73:45;;2660:117;3642:73;;;4406:25:229;;;4447:18;;;4440:34;;;;-1:-1:-1;4490:18:229;;4483:34;;;;4533:18;;;;4526:34;;;;3709:4:45;4576:19:229;;;4569:61;;;3642:73:45;;;;;;;;;;4378:19:229;;;;3642:73:45;;;3632:84;;;;;;;2905:85;;3000:28;;;;3038:21;;-1:-1:-1;;1716:1:30;1821:7;:22;-1:-1:-1;1013:25792:57;;14:127:229;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:229;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:229;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:229:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:229;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:229;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:229;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:229;;;3992:26;3943:89;-1:-1:-1;;2747:1:229;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:229;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:229;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:229;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:229:o;4147:489::-;1013:25792:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561000f575f80fd5b50600436106102b7575f3560e01c80636352211e11610171578063b99b4533116100d2578063daf1a90611610088578063e707e1d01161006e578063e707e1d0146106d7578063e985e9c514610718578063f698da2514610753575f80fd5b8063daf1a906146106b1578063e6e4f5af146106c4575f80fd5b8063c87b56dd116100b8578063c87b56dd14610645578063cdfa628a14610658578063d4d2a69f14610692575f80fd5b8063b99b453314610612578063c756970114610625575f80fd5b8063a22cb46511610127578063a513cab81161010d578063a513cab81461058e578063ad1f3ff8146105ec578063b88d4fde146105ff575f80fd5b8063a22cb4651461053b578063a3b9b6d71461054e575f80fd5b806370a082311161015757806370a082311461050d5780638c9a76d71461052057806395d89b4114610533575f80fd5b80636352211e146104f1578063708c359314610504575f80fd5b80633ff9dcb11161021b5780634fe02b44116101d157806352bcfd5b116101b757806352bcfd5b1461049c57806358e106d5146104a55780635d13e0eb146104b8575f80fd5b80634fe02b441461044a5780635298145714610474575f80fd5b80634997e514116102015780634997e514146103eb57806349a21b37146104245780634fc566ee14610437575f80fd5b80633ff9dcb1146103c557806342842e0e146103d8575f80fd5b8063095ea7b311610270578063133572ba11610256578063133572ba1461037f57806321a8c3af1461039257806323b872dd146103b2575f80fd5b8063095ea7b3146103595780630b1783001461036c575f80fd5b806306fdde03116102a057806306fdde03146102f85780630806e6401461030d578063081812fc1461032e575f80fd5b806301ffc9a7146102bb57806302176d39146102e3575b5f80fd5b6102ce6102c9366004613cc9565b61075b565b60405190151581526020015b60405180910390f35b6102f66102f1366004613e72565b6107ac565b005b610300610850565b6040516102da9190613f14565b61032061031b366004613f26565b6108e0565b6040519081526020016102da565b61034161033c366004613f5b565b610937565b6040516001600160a01b0390911681526020016102da565b6102f6610367366004613f72565b61095c565b61032061037a36600461405c565b610a70565b61032061038d366004614117565b610b08565b6103a56103a0366004613f5b565b610b13565b6040516102da919061414e565b6102f66103c036600461418e565b610b9c565b6102f66103d33660046141bb565b610c13565b6102f66103e636600461418e565b610c73565b6103206103f93660046141db565b600260209081525f948552604080862082529385528385208152918452828420909152825290205481565b6102f6610432366004614241565b610c8d565b6103206104453660046142a5565b610c98565b610320610458366004613f72565b601060209081525f928352604080842090915290825290205481565b610341610482366004613f5b565b600d6020525f90815260409020546001600160a01b031681565b610320600c5481565b6103206104b3366004614346565b610ccd565b6103206104c63660046141db565b600360209081525f948552604080862082529385528385208152918452828420909152825290205481565b6103416104ff366004613f5b565b610cf6565b610320600b5481565b61032061051b3660046143ad565b610d5a565b61032061052e3660046144b8565b610df2565b610300610e79565b6102f661054936600461450b565b610e88565b61032061055c366004614537565b5f6020818152958152604080822087529481528481208652928352838320855290825282822090935291825290205481565b6105cf61059c366004613f26565b600e60209081525f9384526040808520825292845282842090528252902054601d81900b90600160f01b900461ffff1682565b60408051601d9390930b835261ffff9091166020830152016102da565b6103206105fa366004614592565b610e97565b6102f661060d3660046145d5565b610eb7565b61032061062036600461463d565b610f35565b610638610633366004613f5b565b610f9f565b6040516102da9190614657565b610300610653366004613f5b565b611132565b61066b6106663660046141bb565b6111a1565b604080516001600160a01b0390931683526001600160601b039091166020830152016102da565b6103206106a0366004613f5b565b60116020525f908152604090205481565b6102f66106bf366004614788565b6111e6565b6103206106d23660046147d3565b61121c565b6103206106e5366004614537565b600160209081525f9586526040808720825294865284862081529285528385208352908452828420909152825290205481565b6102ce610726366004614117565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b610320611233565b5f6001600160e01b031982166380ac58cd60e01b148061078b57506001600160e01b03198216635b5e139f60e01b145b806107a657506301ffc9a760e01b6001600160e01b03198316145b92915050565b33836107b88282611241565b6108305781816107c783610cf6565b5f848152600d60205260409020546001600160a01b03166107e785610937565b60405163a4c6f48b60e01b81526001600160a01b0395861660048201526024810194909452918416604484015283166064830152909116608482015260a4015b60405180910390fd5b5f61083a86610cf6565b905061084886828787611279565b505050505050565b60606004805461085f9061481b565b80601f016020809104026020016040519081016040528092919081815260200182805461088b9061481b565b80156108d65780601f106108ad576101008083540402835291602001916108d6565b820191905f5260205f20905b8154815290600101906020018083116108b957829003601f168201915b5050505050905090565b5f838152600e602090815260408083206001600160a01b03861684528252808320848452825291829020825180840190935254601d81900b808452600160f01b90910461ffff1692909101919091525b9392505050565b5f61094182611453565b505f908152600860205260409020546001600160a01b031690565b5f61096682610cf6565b9050806001600160a01b0316836001600160a01b0316036109d35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610827565b336001600160a01b03821614806109ef57506109ef8133610726565b610a615760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610827565b610a6b83836114b9565b505050565b5f610a79611526565b5f5b84811015610ae357610ad3868683818110610a9857610a9861484d565b9050602002810190610aaa9190614861565b858584818110610abc57610abc61484d565b9050602002810190610ace919061487f565b61157f565b610adc816148d6565b9050610a7b565b50610af08989898961172b565b9050610afc6001600a55565b98975050505050505050565b5f6109308383611aa2565b5f818152600f602090815260408083208054825181850281018501909352808352606094610b959484015b82821015610b8c575f84815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b90046001600160601b031681830152825260019092019101610b3e565b50505050611b2f565b5092915050565b610ba63382611241565b610c085760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610827565b610a6b838383611bc5565b335f8181526010602090815260408083208684528252918290208054851790558151928352820184905281018290527ff5b8d10373f7c61b96de50a37accb846b8592b69db427709ef6e99bb6cf70b679060600160405180910390a15050565b610a6b83838360405180602001604052805f815250610eb7565b610a6b83838361157f565b5f610ca1611526565b610cac84848461157f565b610cb7878787611db0565b9050610cc36001600a55565b9695505050505050565b5f610cd6611526565b610ce28585858561172b565b9050610cee6001600a55565b949350505050565b5f818152600660205260408120546001600160a01b0316806107a65760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610827565b5f6001600160a01b038216610dd75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610827565b506001600160a01b03165f9081526007602052604090205490565b60208301515f90336001600160a01b03821614610e2257604051638830ee8360e01b815260040160405180910390fd5b5f600c5f8154610e31906148d6565b918290555090505f610e44878388611e68565b508092508195505050610e6f875f01518333610e698b602001518c604001518761203a565b896120d3565b5050509392505050565b60606005805461085f9061481b565b610e9333838361214b565b5050565b5f610ea0611526565b610eab848484611db0565b90506109306001600a55565b610ec13383611241565b610f235760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610827565b610f2f84848484612218565b50505050565b80515f818152600d60205260408120549091906001600160a01b0316338114610f71576040516316e82ce760e21b815260040160405180910390fd5b5f600c5f8154610f80906148d6565b91829055509050610f9385826001611e68565b50909695505050505050565b5f818152600f60205260409020546060908067ffffffffffffffff811115610fc957610fc9613d03565b60405190808252806020026020018201604052801561102457816020015b61101160405180606001604052805f6001600160a01b031681526020015f81526020015f81525090565b815260200190600190039081610fe75790505b5091505f5b8181101561112b575f848152600f602052604081208054839081106110505761105061484d565b5f918252602080832060408051808201825293909101546001600160a01b038082168552600160a01b9091046001600160601b039081168585019081528b8752600e85528387208651841688528552838720815183168852855295839020835180850185529054601d81810b8352600160f01b90910461ffff1682870152845160608101865287519094168452965190911693820193909352825190940b908401528651919350919086908590811061110b5761110b61484d565b602002602001018190525050508080611123906148d6565b915050611029565b5050919050565b606061113d82611453565b5f61115260408051602081019091525f815290565b90505f8151116111705760405180602001604052805f815250610930565b8061117a846122a1565b60405160200161118b9291906148ee565b6040516020818303038152906040529392505050565b600f602052815f5260405f2081815481106111ba575f80fd5b5f918252602090912001546001600160a01b0381169250600160a01b90046001600160601b0316905082565b33836111f28282611241565b6112015781816107c783610cf6565b6112158561120e87610cf6565b868661233e565b5050505050565b5f6112278483611aa2565b905061093083826114b9565b5f61123c6124a6565b905090565b5f61124c83836125cc565b15611259575060016107a6565b505f818152600d60205260409020546001600160a01b0316331492915050565b80515f5b81811015610848578281815181106112975761129761484d565b6020026020010151604001515f808881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106112e7576112e761484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106113245761132461484d565b60200260200101516020015181526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f20819055508281815181106113745761137461484d565b60200260200101516060015160015f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106113c5576113c561484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106114025761140261484d565b60200260200101516020015181526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f2081905550808061144b906148d6565b91505061127d565b5f818152600660205260409020546001600160a01b03166114b65760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610827565b50565b5f81815260086020526040902080546001600160a01b0319166001600160a01b03841690811790915581906114ed82610cf6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6002600a54036115785760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610827565b6002600a55565b42836060013510156115a4576040516356c807b760e01b815260040160405180910390fd5b5f6115b28460400135610cf6565b90505f6115c66115c18661491c565b612648565b9050611610826115d583612883565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128cf92505050565b61162d576040516307b56ed960e41b815260040160405180910390fd5b61163b828660200135612a1e565b6116b360408601358361165160208901896143ad565b61165e60808a018a6149b4565b808060200260200160405190810160405280939291908181526020015f905b828210156116a95761169a606083028601368190038101906149f9565b8152602001906001019061167d565b505050505061233e565b6112156040860135836116c960208901896143ad565b6116d660a08a018a614a13565b808060200260200160405190810160405280939291908181526020015f905b828210156117215761171260808302860136819003810190614a59565b815260200190600101906116f5565b5050505050611279565b5f80611738856002614a73565b67ffffffffffffffff81111561175057611750613d03565b604051908082528060200260200182016040528015611779578160200160208202803683370190505b5090505f611788866002614a73565b67ffffffffffffffff8111156117a0576117a0613d03565b6040519080825280602002602001820160405280156117d957816020015b6117c6613c58565b8152602001906001900390816117be5790505b5090505f600c5f81546117eb906148d6565b918290555093505f5b878110156119f85788888281811061180e5761180e61484d565b905060c002015f01355f14801561183f57508888828181106118325761183261484d565b905060c00201602001355f145b6119e8575f8061186a868c8c8681811061185b5761185b61484d565b905060c002015f013586612a7d565b9094509150611895868c8c868181106118855761188561484d565b905060c002016020013586612a7d565b90945090505f806118bd8d8d878181106118b1576118b161484d565b905060c002018a612acc565b9150915061195d60405180606001604052808f8f898181106118e1576118e161484d565b905060c0020160400160208101906118f991906143ad565b6001600160a01b031681526020018f8f898181106119195761191961484d565b905060c00201606001356001600160601b03168152602001848152508886815181106119475761194761484d565b6020026020010151612ccb90919063ffffffff16565b6119e360405180606001604052808f8f8981811061197d5761197d61484d565b905060c00201604001602081019061199591906143ad565b6001600160a01b031681526020018f8f898181106119b5576119b561484d565b905060c00201606001356001600160601b03168152602001838152508885815181106119475761194761484d565b505050505b6119f1816148d6565b90506117f4565b505f5b81811015611a96575f611a26848381518110611a1957611a1961484d565b6020026020010151612e2d565b9050611a83858381518110611a3d57611a3d61484d565b60200260200101518733848c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506120d392505050565b5080611a8e816148d6565b9150506119fb565b50505050949350505050565b5f600b5f8154611ab1906148d6565b91829055505f818152600d6020526040902080546001600160a01b0319166001600160a01b0385161790559050611ae88382612ee3565b816001600160a01b031681846001600160a01b03167f32b5641993c697cfd9228343551f8959c18f92052f584f1f103ef0699cd221c860405160405180910390a492915050565b60605f825167ffffffffffffffff811115611b4c57611b4c613d03565b604051908082528060200260200182016040528015611b75578160200160208202803683370190505b5091505f5b8351811015611bbc57611baa83858381518110611b9957611b9961484d565b60200260200101515f015184613078565b9150611bb5816148d6565b9050611b7a565b50808252915091565b826001600160a01b0316611bd882610cf6565b6001600160a01b031614611c3c5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610827565b6001600160a01b038216611c9e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610827565b611cab83838360016130c9565b826001600160a01b0316611cbe82610cf6565b6001600160a01b031614611d225760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610827565b5f81815260086020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526007855283862080545f1901905590871680865283862080546001019055868652600690945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f600c5f8154611dbf906148d6565b918290555090505f80611dd28684612acc565b9092509050611e3786358433611dfc611df160608c0160408d016143ad565b8b606001358861203a565b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506120d392505050565b611e5f60208701358433611dfc611e5460608c0160408d016143ad565b8b606001358761203a565b50509392505050565b82515f908152600e60209081526040808320828701516001600160a01b03168452825280832081870151845282528083208651845260119092528220849055805482918291601d0b8515611ed857611ec28888833361314f565b9095509250611ed18186614a8a565b9350611ef7565b6060880151611ee79082614aa9565b606089015190955093505f841292505b611f0085613223565b82547fffff000000000000000000000000000000000000000000000000000000000000166001600160f01b03919091161782558015801590611f40575084155b15611f635787518254611f5e9190600160f01b900461ffff166132a2565b611fa9565b80158015611f7057508415155b15611fa957611f8b885f015189602001518a604001516133f6565b825461ffff91909116600160f01b026001600160f01b039091161782555b6040888101516020808b01518b515f908152600d8352849020548c5185518a81529384018790529483018a905260608084018d90529190911b6bffffffffffffffffffffffff1916909217926001600160a01b0390921691907f503ec09c1b4597d114eca849f7013c8c457988802d1dc5da49a0c461b5f886589060800160405180910390a4505093509350939050565b6040805160018082528183019092526060915f9190816020015b604080516060810182525f80825260208083018290529282015282525f199092019101816120545790505090506040518060600160405280866001600160a01b03168152602001856001600160601b0316815260200184815250815f815181106120c0576120c061484d565b6020908102919091010152949350505050565b5f858152600d602052604090819020549051639e4c9ebd60e01b81526001600160a01b0390911690639e4c9ebd906121179088908890889088908890600401614ad0565b5f604051808303815f87803b15801561212e575f80fd5b505af1158015612140573d5f803e3d5ffd5b505050505050505050565b816001600160a01b0316836001600160a01b0316036121ac5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610827565b6001600160a01b038381165f81815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612223848484611bc5565b61222f8484848461348c565b610f2f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610827565b60605f6122ad836135dc565b60010190505f8167ffffffffffffffff8111156122cc576122cc613d03565b6040519080825280601f01601f1916602001820160405280156122f6576020820181803683370190505b5090508181016020015b5f19017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461230057509392505050565b80515f5b818110156108485782818151811061235c5761235c61484d565b60200260200101516020015160025f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f8584815181106123ad576123ad61484d565b60200260200101515f01516001600160a01b03166001600160a01b031681526020019081526020015f205f866001600160a01b03166001600160a01b031681526020019081526020015f208190555082818151811061240e5761240e61484d565b60200260200101516040015160035f8881526020019081526020015f205f876001600160a01b03166001600160a01b031681526020019081526020015f205f85848151811061245f5761245f61484d565b602090810291909101810151516001600160a01b0390811683528282019390935260409182015f90812093891681529290529020558061249e816148d6565b915050612342565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156124fe57507f000000000000000000000000000000000000000000000000000000000000000046145b1561252857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b5f806125d783610cf6565b9050806001600160a01b0316846001600160a01b0316148061261d57506001600160a01b038082165f9081526009602090815260408083209388168352929052205460ff165b80610cee5750836001600160a01b031661263684610937565b6001600160a01b031614949350505050565b60808101515160a0820151515f9190828267ffffffffffffffff81111561267157612671613d03565b60405190808252806020026020018201604052801561269a578160200160208202803683370190505b5090505f5b838110156126fa576126cd866080015182815181106126c0576126c061484d565b60200260200101516136bd565b8282815181106126df576126df61484d565b60209081029190910101526126f3816148d6565b905061269f565b505f8267ffffffffffffffff81111561271557612715613d03565b60405190808252806020026020018201604052801561273e578160200160208202803683370190505b5090505f5b8381101561279e576127718760a0015182815181106127645761276461484d565b602002602001015161372e565b8282815181106127835761278361484d565b6020908102919091010152612797816148d6565b9050612743565b507f70d5940fb1a5c6829d2c3655d0d5a62c8a51232dc6a01422e14e874f81956045865f0151876020015188604001518960600151866040516020016127e49190614b68565b604051602081830303815290604052805190602001208660405160200161280b9190614b68565b60408051601f198184030181528282528051602091820120908301989098526001600160a01b03909616958101959095526060850193909352608084019190915260a083015260c082015260e08101919091526101000160405160208183030381529060405280519060200120945050505050919050565b5f6107a661288f6124a6565b8360405161190160f01b602082015260228101839052604281018290525f9060620160405160208183030381529060405280519060200120905092915050565b5f805f6128dc8585613793565b90925090505f8160048111156128f4576128f4614b9d565b1480156129125750856001600160a01b0316826001600160a01b0316145b1561292257600192505050610930565b5f80876001600160a01b0316631626ba7e60e01b8888604051602401612949929190614bb1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990941693909317909252905161299c9190614bc9565b5f60405180830381855afa9150503d805f81146129d4576040519150601f19603f3d011682016040523d82523d5f602084013e6129d9565b606091505b50915091508180156129ec575080516020145b8015610afc57508051630b135d3f60e11b90612a119083016020908101908401614bda565b1498975050505050505050565b6001600160a01b0382165f908152601060209081526040808320600885901c808552925282208054600160ff861690811b918218928390559293909190818316900361084857604051632cb614b360e11b815260040160405180910390fd5b5f805f612a8b8686866137d2565b90508019612abe5784868581518110612aa657612aa661484d565b60209081029190910101525050506001810181612ac4565b83925090505b935093915050565b5f806020840135843503612aff5760405163786025f560e01b815233600482015260208501356024820152604401610827565b6040805160a081018252853581525f916020820190612b2490606089019089016143ad565b6001600160a01b0316815260608701356020820152604001612b496080880135614bf1565b81526020018660a0013581525090505f6040518060a0016040528087602001358152602001876040016020810190612b8191906143ad565b6001600160a01b0316815260608089013560208301526080890135604083015260a089013591015290505f80612bb984886001611e68565b92509250505f80612bcc858a6001611e68565b9250925050828015612be85750612be633875f0151611241565b155b15612c0357612c0386612bfd885f0151610cf6565b33613841565b808015612c1a5750612c1833865f0151611241565b155b15612c2f57612c2f85612bfd875f0151610cf6565b60208a01358a357f5aad14bb846a4654716f2474a7ba1eff7a20526888b58165c7b7bea4737a46c9612c6760608e0160408f016143ad565b8d606001358e608001358f60a001358f604051612cb19594939291906001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b60405180910390a3509195509093505050505b9250929050565b5f5b6064811015612e1357815f01516001600160a01b031683602001518260648110612cf957612cf961484d565b6020020151516001600160a01b0316148015612d48575081602001516001600160601b031683602001518260648110612d3457612d3461484d565b6020020151602001516001600160601b0316145b15612d8557816040015183602001518260648110612d6857612d6861484d565b6020020151604001818151612d7d9190614aa9565b905250505050565b60208301515f908260648110612d9d57612d9d61484d565b6020020151516001600160a01b0316148015612ddf575082602001518160648110612dca57612dca61484d565b6020020151602001516001600160601b03165f145b15612e0b578183602001518260648110612dfb57612dfb61484d565b6020020152505080516001019052565b600101612ccd565b5060405163f2e268f160e01b815260040160405180910390fd5b60605f825f015167ffffffffffffffff811115612e4c57612e4c613d03565b604051908082528060200260200182016040528015612e9557816020015b604080516060810182525f80825260208083018290529282015282525f19909201910181612e6a5790505b5090505f5b8151811015610b955783602001518160648110612eb957612eb961484d565b6020020151828281518110612ed057612ed061484d565b6020908102919091010152600101612e9a565b6001600160a01b038216612f395760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610827565b5f818152600660205260409020546001600160a01b031615612f9d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610827565b612faa5f838360016130c9565b5f818152600660205260409020546001600160a01b03161561300e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610827565b6001600160a01b0382165f81815260076020908152604080832080546001019055848352600690915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f613084848484613943565b19610b9557828483806001019450815181106130a2576130a261484d565b60200260200101906001600160a01b031690816001600160a01b0316815250505092915050565b6001811115610f2f576001600160a01b0384161561310e576001600160a01b0384165f9081526007602052604081208054839290613108908490614c0b565b90915550505b6001600160a01b03831615610f2f576001600160a01b0383165f9081526007602052604081208054839290613144908490614c1e565b909155505050505050565b6020848101805186515f908152600d9093526040808420548151638503eba960e01b81528951600482015293516001600160a01b039081166024860152918901516044850152606089015160648501526080890151608485015260a4840188905260c48401879052811660e48401528481166101048401528392911690638503eba9906101240160408051808303815f875af11580156131f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132159190614c31565b915091505b94509492505050565b80601d81900b811461329d5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f34302062697473000000000000000000000000000000000000000000000000006064820152608401610827565b919050565b5f828152600f60205260409020546132bb600182614c0b565b8261ffff16146133bf575f838152600f602052604081206132dd600184614c0b565b815481106132ed576132ed61484d565b5f918252602080832060408051808201825291909301546001600160a01b03811682526001600160601b03600160a01b9091041681830152878452600f90915291208054919250829161ffff861690811061334a5761334a61484d565b5f91825260208083208451948201516001600160601b03908116600160a01b026001600160a01b03968716179190930155878352600e8152604080842086519095168452938152838320948101519091168252929092529020805461ffff8416600160f01b026001600160f01b039091161790555b5f838152600f602052604090208054806133db576133db614c54565b5f8281526020812082015f1990810191909155019055505050565b5f838152600f6020908152604080832081518083019092526001600160a01b0386168252918101613426856139cb565b6001600160601b039081169091528254600181810185555f9485526020808620855195820151909416600160a01b026001600160a01b03909516949094179290910191909155868352600f909152604090912054610cee9161348791614c0b565b613a36565b5f6001600160a01b0384163b156135d457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906134cf903390899088908890600401614c68565b6020604051808303815f875af1925050508015613509575060408051601f3d908101601f1916820190925261350691810190614c99565b60015b6135ba573d808015613536576040519150601f19603f3d011682016040523d82523d5f602084013e61353b565b606091505b5080515f036135b25760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610827565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610cee565b506001610cee565b5f807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613624577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310613650576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061366e57662386f26fc10000830492506010015b6305f5e1008310613686576305f5e100830492506008015b612710831061369a57612710830492506004015b606483106136ac576064830492506002015b600a83106107a65760010192915050565b604080517fce00941d7e1c6bca20b872d8e8b4f7adbc64efcdff14a640f818046af8e4292f60208083019190915283516001600160a01b03168284015283015160608201529082015160808201525f9060a0015b604051602081830303815290604052805190602001209050919050565b604080517fa49b507c25a3937a524e476a942debe3c058a467b1d5e8197a7b81683b85af8460208083019190915283516001600160a01b0316828401528301516060808301919091529183015160808201529082015160a08201525f9060c001613711565b5f8082516041036137c7576020830151604084015160608501515f1a6137bb87828585613a98565b94509450505050612cc4565b505f90506002612cc4565b5f805b82811015613836578481815181106137ef576137ef61484d565b60200260200101515f03613807575f19915050610930565b8385828151811061381a5761381a61484d565b60200260200101510361382e579050610930565b6001016137d5565b505f19949350505050565b82606001515f0361385157505050565b5f836060015113156138cf5782515f818152602081815260408083206001600160a01b03808816808652918452828520848a01805183168752908552838620848b0151875285528386208a51875260028652848720938752928552838620905190911685529092529091206060860151610a6b939291908590613b52565b82515f8181526001602090815260408083206001600160a01b03808816808652918452828520848a01805183168752908552838620848b0151875285528386208a51875260038652848720938752928552838620905190911685529092529091206060860151610a6b939291908590613b52565b5f805b82811015613836575f6001600160a01b031685828151811061396a5761396a61484d565b60200260200101516001600160a01b03160361398a575f19915050610930565b836001600160a01b03168582815181106139a6576139a661484d565b60200260200101516001600160a01b0316036139c3579050610930565b600101613946565b5f6001600160601b03821115613a325760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610827565b5090565b5f61ffff821115613a325760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201526536206269747360d01b6064820152608401610827565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613acd57505f9050600361321a565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613b1e573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116613b46575f6001925092505061321a565b965f9650945050505050565b6001600160a01b0382165f9081526020858152604080832054918690528220549091613b7d84613c47565b9050828111613bad57613b908184614c0b565b6001600160a01b0386165f90815260208990526040902055613c3d565b613bb78284614c1e565b8111613c06576001600160a01b0385165f90815260208890526040812055613bdf8382614c0b565b613be99083614c0b565b6001600160a01b0386165f90815260208890526040902055613c3d565b6040516313985a0960e11b81523360048201526024810189905260448101859052606481018490526084810183905260a401610827565b5050505050505050565b5f80821215613a3257815f036107a6565b60405180604001604052805f8152602001613c71613c76565b905290565b60405180610c8001604052806064905b604080516060810182525f80825260208083018290529282015282525f19909201910181613c865790505090565b6001600160e01b0319811681146114b6575f80fd5b5f60208284031215613cd9575f80fd5b813561093081613cb4565b6001600160a01b03811681146114b6575f80fd5b803561329d81613ce4565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff81118282101715613d3a57613d3a613d03565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613d6957613d69613d03565b604052919050565b5f67ffffffffffffffff821115613d8a57613d8a613d03565b5060051b60200190565b5f60808284031215613da4575f80fd5b6040516080810181811067ffffffffffffffff82111715613dc757613dc7613d03565b6040529050808235613dd881613ce4565b808252506020830135602082015260408301356040820152606083013560608201525092915050565b5f82601f830112613e10575f80fd5b81356020613e25613e2083613d71565b613d40565b82815260079290921b84018101918181019086841115613e43575f80fd5b8286015b84811015613e6757613e598882613d94565b835291830191608001613e47565b509695505050505050565b5f805f60608486031215613e84575f80fd5b833592506020840135613e9681613ce4565b9150604084013567ffffffffffffffff811115613eb1575f80fd5b613ebd86828701613e01565b9150509250925092565b5f5b83811015613ee1578181015183820152602001613ec9565b50505f910152565b5f8151808452613f00816020860160208601613ec7565b601f01601f19169290920160200192915050565b602081525f6109306020830184613ee9565b5f805f60608486031215613f38575f80fd5b833592506020840135613f4a81613ce4565b929592945050506040919091013590565b5f60208284031215613f6b575f80fd5b5035919050565b5f8060408385031215613f83575f80fd5b8235613f8e81613ce4565b946020939093013593505050565b5f8083601f840112613fac575f80fd5b50813567ffffffffffffffff811115613fc3575f80fd5b60208301915083602060c083028501011115612cc4575f80fd5b5f8083601f840112613fed575f80fd5b50813567ffffffffffffffff811115614004575f80fd5b602083019150836020828501011115612cc4575f80fd5b5f8083601f84011261402b575f80fd5b50813567ffffffffffffffff811115614042575f80fd5b6020830191508360208260051b8501011115612cc4575f80fd5b5f805f805f805f806080898b031215614073575f80fd5b883567ffffffffffffffff8082111561408a575f80fd5b6140968c838d01613f9c565b909a50985060208b01359150808211156140ae575f80fd5b6140ba8c838d01613fdd565b909850965060408b01359150808211156140d2575f80fd5b6140de8c838d0161401b565b909650945060608b01359150808211156140f6575f80fd5b506141038b828c0161401b565b999c989b5096995094979396929594505050565b5f8060408385031215614128575f80fd5b823561413381613ce4565b9150602083013561414381613ce4565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b81811015610f935783516001600160a01b031683529284019291840191600101614169565b5f805f606084860312156141a0575f80fd5b83356141ab81613ce4565b92506020840135613f4a81613ce4565b5f80604083850312156141cc575f80fd5b50508035926020909101359150565b5f805f80608085870312156141ee575f80fd5b84359350602085013561420081613ce4565b9250604085013561421081613ce4565b9150606085013561422081613ce4565b939692955090935050565b5f60c0828403121561423b575f80fd5b50919050565b5f805f60408486031215614253575f80fd5b833567ffffffffffffffff8082111561426a575f80fd5b6142768783880161422b565b9450602086013591508082111561428b575f80fd5b5061429886828701613fdd565b9497909650939450505050565b5f805f805f8061012087890312156142bb575f80fd5b6142c5888861422b565b955060c087013567ffffffffffffffff808211156142e1575f80fd5b6142ed8a838b01613fdd565b909750955060e0890135915080821115614305575f80fd5b6143118a838b0161422b565b9450610100890135915080821115614327575f80fd5b5061433489828a01613fdd565b979a9699509497509295939492505050565b5f805f8060408587031215614359575f80fd5b843567ffffffffffffffff80821115614370575f80fd5b61437c88838901613f9c565b90965094506020870135915080821115614394575f80fd5b506143a187828801613fdd565b95989497509550505050565b5f602082840312156143bd575f80fd5b813561093081613ce4565b5f60a082840312156143d8575f80fd5b60405160a0810181811067ffffffffffffffff821117156143fb576143fb613d03565b60405282358152905080602083013561441381613ce4565b806020830152506040830135604082015260608301356060820152608083013560808201525092915050565b80151581146114b6575f80fd5b5f82601f83011261445b575f80fd5b813567ffffffffffffffff81111561447557614475613d03565b614488601f8201601f1916602001613d40565b81815284602083860101111561449c575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f60e084860312156144ca575f80fd5b6144d485856143c8565b925060a08401356144e48161443f565b915060c084013567ffffffffffffffff8111156144ff575f80fd5b613ebd8682870161444c565b5f806040838503121561451c575f80fd5b823561452781613ce4565b915060208301356141438161443f565b5f805f805f60a0868803121561454b575f80fd5b85359450602086013561455d81613ce4565b9350604086013561456d81613ce4565b925060608601359150608086013561458481613ce4565b809150509295509295909350565b5f805f60e084860312156145a4575f80fd5b6145ae858561422b565b925060c084013567ffffffffffffffff8111156145c9575f80fd5b61429886828701613fdd565b5f805f80608085870312156145e8575f80fd5b84356145f381613ce4565b9350602085013561460381613ce4565b925060408501359150606085013567ffffffffffffffff811115614625575f80fd5b6146318782880161444c565b91505092959194509250565b5f60a0828403121561464d575f80fd5b61093083836143c8565b602080825282518282018190525f919060409081850190868401855b828110156146ab57815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101614673565b5091979650505050505050565b5f606082840312156146c8575f80fd5b6040516060810181811067ffffffffffffffff821117156146eb576146eb613d03565b60405290508082356146fc81613ce4565b8082525060208301356020820152604083013560408201525092915050565b5f82601f83011261472a575f80fd5b8135602061473a613e2083613d71565b82815260609283028501820192828201919087851115614758575f80fd5b8387015b8581101561477b5761476e89826146b8565b845292840192810161475c565b5090979650505050505050565b5f805f6060848603121561479a575f80fd5b8335925060208401356147ac81613ce4565b9150604084013567ffffffffffffffff8111156147c7575f80fd5b613ebd8682870161471b565b5f805f606084860312156147e5575f80fd5b83356147f081613ce4565b9250602084013561480081613ce4565b9150604084013561481081613ce4565b809150509250925092565b600181811c9082168061482f57607f821691505b60208210810361423b57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f823560be19833603018112614875575f80fd5b9190910192915050565b5f808335601e19843603018112614894575f80fd5b83018035915067ffffffffffffffff8211156148ae575f80fd5b602001915036819003821315612cc4575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016148e7576148e76148c2565b5060010190565b5f83516148ff818460208801613ec7565b835190830190614913818360208801613ec7565b01949350505050565b5f60c0823603121561492c575f80fd5b614934613d17565b61493d83613cf8565b8152602083013560208201526040830135604082015260608301356060820152608083013567ffffffffffffffff80821115614977575f80fd5b6149833683870161471b565b608084015260a085013591508082111561499b575f80fd5b506149a836828601613e01565b60a08301525092915050565b5f808335601e198436030181126149c9575f80fd5b83018035915067ffffffffffffffff8211156149e3575f80fd5b6020019150606081023603821315612cc4575f80fd5b5f60608284031215614a09575f80fd5b61093083836146b8565b5f808335601e19843603018112614a28575f80fd5b83018035915067ffffffffffffffff821115614a42575f80fd5b6020019150600781901b3603821315612cc4575f80fd5b5f60808284031215614a69575f80fd5b6109308383613d94565b80820281158282048414176107a6576107a66148c2565b8181035f831280158383131683831282161715610b9557610b956148c2565b8082018281125f831280158216821582161715614ac857614ac86148c2565b505092915050565b5f60a082018783526020878185015260406001600160a01b0380891682870152606060a08188015284895180875260c089019150858b0196505f5b81811015614b43578751805186168452878101516001600160601b031688850152860151868401529686019691830191600101614b0b565b50508781036080890152614b57818a613ee9565b9d9c50505050505050505050505050565b81515f9082906020808601845b83811015614b9157815185529382019390820190600101614b75565b50929695505050505050565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f610cee6040830184613ee9565b5f8251614875818460208701613ec7565b5f60208284031215614bea575f80fd5b5051919050565b5f600160ff1b8201614c0557614c056148c2565b505f0390565b818103818111156107a6576107a66148c2565b808201808211156107a6576107a66148c2565b5f8060408385031215614c42575f80fd5b8251915060208301516141438161443f565b634e487b7160e01b5f52603160045260245ffd5b5f6001600160a01b03808716835280861660208401525083604083015260806060830152610cc36080830184613ee9565b5f60208284031215614ca9575f80fd5b815161093081613cb456fea264697066735822122058f78fce00db557a584b351168f2404251162f709ec9cea495e36c829b641f7964736f6c63430008140033", + "sourceMap": "1013:25792:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:37;;;;;;:::i;:::-;;:::i;:::-;;;565:14:229;;558:22;540:41;;528:2;513:18;1570:300:37;;;;;;;;4749:285:57;;;;;;:::i;:::-;;:::i;:::-;;2471:98:37;;;:::i;:::-;;;;;;;:::i;24124:239:57:-;;;;;;:::i;:::-;;:::i;:::-;;;5080:25:229;;;5068:2;5053:18;24124:239:57;4936:175:229;3935:167:37;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5465:55:229;;;5447:74;;5435:2;5420:18;3935:167:37;5301:226:229;3468:406:37;;;;;;:::i;:::-;;:::i;10905:415:57:-;;;;;;:::i;:::-;;:::i;2578:136::-;;;;;;:::i;:::-;;:::i;25376:163::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4612:296:37:-;;;;;;:::i;:::-;;:::i;5870:184:57:-;;;;;;:::i;:::-;;:::i;4974:149:37:-;;;;;;:::i;:::-;;:::i;1092:145:55:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5253:139:57;;;;;;:::i;:::-;;:::i;10241:334::-;;;;;;:::i;:::-;;:::i;1894:87::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1477:50;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1477:50:57;;;1413:27;;;;;;9630:216;;;;;;:::i;:::-;;:::i;1241:145:55:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2190:219:37;;;;;;:::i;:::-;;:::i;1303:29:57:-;;;;;;1929:204:37;;;;;;:::i;:::-;;:::i;17300:613:57:-;;;;;;:::i;:::-;;:::i;2633:102:37:-;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;579:178:55:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:113:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1597:113:57;;;;;;;;;;17700:2:229;17689:22;;;;17671:41;;17760:6;17748:19;;;17743:2;17728:18;;17721:47;17644:18;1597:113:57;17501:273:229;9081:210:57;;;;;;:::i;:::-;;:::i;5189:276:37:-;;;;;;:::i;:::-;;:::i;16637:310:57:-;;;;;;:::i;:::-;;:::i;24551:639::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2801:276:37:-;;;;;;:::i;:::-;;:::i;1761:56:57:-;;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;20371:55:229;;;20353:74;;-1:-1:-1;;;;;20463:39:229;;;20458:2;20443:18;;20436:67;20326:18;1761:56:57;20165:344:229;2061:65:57;;;;;;:::i;:::-;;;;;;;;;;;;;;4162:258;;;;;;:::i;:::-;;:::i;3074:196::-;;;;;;:::i;:::-;;:::i;845:178:55:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4388:162:37;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:37;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;25598:97:57;;;:::i;1570:300:37:-;1672:4;-1:-1:-1;;;;;;1707:40:37;;-1:-1:-1;;;1707:40:37;;:104;;-1:-1:-1;;;;;;;1763:48:37;;-1:-1:-1;;;1763:48:37;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:47;;;1827:36:37;1688:175;1570:300;-1:-1:-1;;1570:300:37:o;4749:285:57:-;4899:10;4911:9;26321:37;26340:6;26348:9;26321:18;:37::i;:::-;26316:192;;26412:6;26420:9;26431:18;26439:9;26431:7;:18::i;:::-;26451;;;;:7;:18;;;;;;-1:-1:-1;;;;;26451:18:57;26471:22;26459:9;26471:11;:22::i;:::-;26375:126;;-1:-1:-1;;;26375:126:57;;-1:-1:-1;;;;;23967:15:229;;;26375:126:57;;;23949:34:229;23999:18;;;23992:34;;;;24062:15;;;24042:18;;;24035:43;24114:15;;24094:18;;;24087:43;24167:15;;;24146:19;;;24139:44;23860:19;;26375:126:57;;;;;;;;26316:192;4930:13:::1;4946:18;4954:9;4946:7;:18::i;:::-;4930:34;;4970:59;4990:9;5001:5;5008:8;5018:10;4970:19;:59::i;:::-;4924:110;4749:285:::0;;;;;:::o;2471:98:37:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;24124:239:57:-;24209:11;24273:26;;;:15;:26;;;;;;;;-1:-1:-1;;;;;24273:33:57;;;;;;;;;:40;;;;;;;;;24228:85;;;;;;;;;;;;;;;;-1:-1:-1;;;24228:85:57;;;;;;;;;;;;;24124:239;;;;;;:::o;3935:167:37:-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:37;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:37;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:37;:2;-1:-1:-1;;;;;3605:11:37;;3597:57;;;;-1:-1:-1;;;3597:57:37;;24781:2:229;3597:57:37;;;24763:21:229;24820:2;24800:18;;;24793:30;24859:34;24839:18;;;24832:62;-1:-1:-1;;;24910:18:229;;;24903:31;24951:19;;3597:57:37;24579:397:229;3597:57:37;719:10:42;-1:-1:-1;;;;;3686:21:37;;;;:62;;-1:-1:-1;3711:37:37;3728:5;719:10:42;4388:162:37;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:37;;25183:2:229;3665:170:37;;;25165:21:229;25222:2;25202:18;;;25195:30;25261:34;25241:18;;;25234:62;25332:31;25312:18;;;25305:59;25381:19;;3665:170:37;24981:425:229;3665:170:37;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;10905:415:57:-;11133:12;2261:21:30;:19;:21::i;:::-;11158:6:57::1;11153:105;11166:27:::0;;::::1;11153:105;;;11208:43;11216:16;;11233:1;11216:19;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11237:10;;11248:1;11237:13;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11208:7;:43::i;:::-;11195:3;::::0;::::1;:::i;:::-;;;11153:105;;;;11270:45;11287:14;;11303:11;;11270:16;:45::i;:::-;11263:52;;2303:20:30::0;1716:1;2809:7;:22;2629:209;2303:20;10905:415:57;;;;;;;;;;:::o;2578:136::-;2653:10;2678:31;2693:5;2700:8;2678:14;:31::i;25376:163::-;25512:21;;;;:10;:21;;;;;;;;25495:39;;;;;;;;;;;;;;;;;25440:29;;25495:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25495:39:57;;;;-1:-1:-1;;;25495:39:57;;-1:-1:-1;;;;;25495:39:57;;;;;;;;;;;;;;;;;;;;:16;:39::i;:::-;-1:-1:-1;25477:57:57;25376:163;-1:-1:-1;;25376:163:57:o;4612:296:37:-;4771:41;719:10:42;4804:7:37;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:37;;26882:2:229;4763:99:37;;;26864:21:229;26921:2;26901:18;;;26894:30;26960:34;26940:18;;;26933:62;-1:-1:-1;;;27011:18:229;;;27004:43;27064:19;;4763:99:37;26680:409:229;4763:99:37;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;5870:184:57:-;5957:10;5945:23;;;;:11;:23;;;;;;;;:32;;;;;;;;;:40;;;;;;5997:52;;27296:74:229;;;27386:18;;27379:34;;;27429:18;;27422:34;;;5997:52:57;;27284:2:229;27269:18;5997:52:57;;;;;;;5870:184;;:::o;4974:149:37:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5253:139:57:-;5352:35;5360:15;5377:9;;5352:7;:35::i;10241:334::-;10459:12;2261:21:30;:19;:21::i;:::-;10479:35:57::1;10487:15;10504:9;;10479:7;:35::i;:::-;10527:43;10543:13;10558:11;;10527:15;:43::i;:::-;10520:50;;2303:20:30::0;1716:1;2809:7;:22;2629:209;2303:20;10241:334:57;;;;;;;;:::o;9630:216::-;9767:12;2261:21:30;:19;:21::i;:::-;9796:45:57::1;9813:14;;9829:11;;9796:16;:45::i;:::-;9789:52;;2303:20:30::0;1716:1;2809:7;:22;2629:209;2303:20;9630:216:57;;;;;;:::o;2190:219:37:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:37;;2324:56;;;;-1:-1:-1;;;2324:56:37;;27669:2:229;2324:56:37;;;27651:21:229;27708:2;27688:18;;;27681:30;27747:26;27727:18;;;27720:54;27791:18;;2324:56:37;27467:348:229;1929:204:37;2001:7;-1:-1:-1;;;;;2028:19:37;;2020:73;;;;-1:-1:-1;;;2020:73:37;;28022:2:229;2020:73:37;;;28004:21:229;28061:2;28041:18;;;28034:30;28100:34;28080:18;;;28073:62;28171:11;28151:18;;;28144:39;28200:19;;2020:73:37;27820:405:229;2020:73:37;-1:-1:-1;;;;;;2110:16:37;;;;;:9;:16;;;;;;;1929:204::o;17300:613:57:-;17436:16;;;;17467:25;;26740:10;-1:-1:-1;;;;;26740:28:57;;;26736:55;;26777:14;;-1:-1:-1;;;26777:14:57;;;;;;;;;;;26736:55;17502:12:::1;17519:11;;17517:13;;;;;:::i;:::-;::::0;;;;-1:-1:-1;17517:13:57;-1:-1:-1;17614:9:57::1;17663:53;17678:10:::0;17517:13;17699:16;17663:14:::1;:53::i;:::-;17629:87;;;;;;;;;17722:186;17742:10;:14;;;17764:7;17779:10;17797:86;17841:10;:16;;;17859:10;:16;;;17877:5;17797:43;:86::i;:::-;17891:11;17722:12;:186::i;:::-;17496:417;;17300:613:::0;;;;;;:::o;2633:102:37:-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:42;4296:8:37;4306;4263:18;:52::i;:::-;4169:153;;:::o;9081:210:57:-;9214:12;2261:21:30;:19;:21::i;:::-;9243:43:57::1;9259:13;9274:11;;9243:15;:43::i;:::-;9236:50;;2303:20:30::0;1716:1;2809:7;:22;2629:209;5189:276:37;5319:41;719:10:42;5352:7:37;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:37;;26882:2:229;5311:99:37;;;26864:21:229;26921:2;26901:18;;;26894:30;26960:34;26940:18;;;26933:62;-1:-1:-1;;;27011:18:229;;;27004:43;27064:19;;5311:99:37;26680:409:229;5311:99:37;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;16637:310:57:-;16728:14;;16757:25;26599:18;;;:7;:18;;;;;;16757:25;;16728:14;-1:-1:-1;;;;;26599:18:57;26628:10;:28;;26624:57;;26665:16;;-1:-1:-1;;;26665:16:57;;;;;;;;;;;26624:57;16792:12:::1;16809:11;;16807:13;;;;;:::i;:::-;::::0;;;;-1:-1:-1;16807:13:57;-1:-1:-1;16901:41:57::1;16916:10:::0;16807:13;16937:4:::1;16901:14;:41::i;:::-;-1:-1:-1::0;16873:69:57;;16637:310;-1:-1:-1;;;;;;16637:310:57:o;24551:639::-;24661:24;24688:21;;;:10;:21;;;;;:28;24618:35;;24688:28;24738:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24738:39:57;;;;;;;;;;;;;;;;;24722:55;;24788:6;24783:377;24800:19;24796:1;:23;24783:377;;;24834:26;24863:21;;;:10;:21;;;;;:24;;24885:1;;24863:24;;;;;;:::i;:::-;;;;;;;;;24834:53;;;;;;;;24863:24;;;;24834:53;-1:-1:-1;;;;;24834:53:57;;;;;-1:-1:-1;;;24834:53:57;;;-1:-1:-1;;;;;24834:53:57;;;;;;;;;24940:26;;;:15;:26;;;;;24967:15;;24940:43;;;;;;;;;24989:15;;24984:21;;24940:66;;;;;;;;24895:111;;;;;;;;;;;;;;;-1:-1:-1;;;24895:111:57;;;;;;;;;25042;;;;;;;25063:15;;25042:111;;;;;25092:15;;25087:21;;;25042:111;;;;;;;25123:27;;25119:32;;;25042:111;;;;25015:16;;24834:53;;-1:-1:-1;24895:111:57;25042;25015:16;;25029:1;;25015:16;;;;;;:::i;:::-;;;;;;:138;;;;24826:334;;24821:3;;;;;:::i;:::-;;;;24783:377;;;;25165:20;24551:639;;;:::o;2801:276:37:-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:37;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2977:93;2801:276;-1:-1:-1;;;2801:276:37:o;1761:56:57:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1761:56:57;;;-1:-1:-1;;;;1761:56:57;;-1:-1:-1;;;;;1761:56:57;;-1:-1:-1;1761:56:57;:::o;4162:258::-;4312:10;4324:9;26321:37;26340:6;26348:9;26321:18;:37::i;:::-;26316:192;;26412:6;26420:9;26431:18;26439:9;26431:7;:18::i;26316:192::-;4343:72:::1;4363:9;4374:18;4382:9;4374:7;:18::i;:::-;4394:8;4404:10;4343:19;:72::i;:::-;4162:258:::0;;;;;:::o;3074:196::-;3178:10;3204:31;3219:5;3226:8;3204:14;:31::i;:::-;3196:39;;3241:24;3250:7;3259:5;3241:8;:24::i;25598:97::-;25648:7;25670:20;:18;:20::i;:::-;25663:27;;25598:97;:::o;25915:260::-;26008:4;26024:44;26049:7;26058:9;26024:24;:44::i;:::-;26020:61;;;-1:-1:-1;26077:4:57;26070:11;;26020:61;-1:-1:-1;26137:18:57;;;;:7;:18;;;;;;-1:-1:-1;;;;;26137:18:57;26160:10;26129:41;25915:260;;;;:::o;2620:519:55:-;2802:17;;2781:18;2825:310;2842:13;2838:1;:17;2825:310;;;2973:10;2984:1;2973:13;;;;;;;;:::i;:::-;;;;;;;:22;;;2870;:33;2893:9;2870:33;;;;;;;;;;;:40;2904:5;-1:-1:-1;;;;;2870:40:55;-1:-1:-1;;;;;2870:40:55;;;;;;;;;;;;:61;2911:10;2922:1;2911:13;;;;;;;;:::i;:::-;;;;;;;:19;;;-1:-1:-1;;;;;2870:61:55;-1:-1:-1;;;;;2870:61:55;;;;;;;;;;;;:82;2932:10;2943:1;2932:13;;;;;;;;:::i;:::-;;;;;;;:19;;;2870:82;;;;;;;;;;;:92;2953:8;-1:-1:-1;;;;;2870:92:55;-1:-1:-1;;;;;2870:92:55;;;;;;;;;;;;:125;;;;3106:10;3117:1;3106:13;;;;;;;;:::i;:::-;;;;;;;:22;;;3003;:33;3026:9;3003:33;;;;;;;;;;;:40;3037:5;-1:-1:-1;;;;;3003:40:55;-1:-1:-1;;;;;3003:40:55;;;;;;;;;;;;:61;3044:10;3055:1;3044:13;;;;;;;;:::i;:::-;;;;;;;:19;;;-1:-1:-1;;;;;3003:61:55;-1:-1:-1;;;;;3003:61:55;;;;;;;;;;;;:82;3065:10;3076:1;3065:13;;;;;;;;:::i;:::-;;;;;;;:19;;;3003:82;;;;;;;;;;;:92;3086:8;-1:-1:-1;;;;;3003:92:55;-1:-1:-1;;;;;3003:92:55;;;;;;;;;;;;:125;;;;2857:3;;;;;:::i;:::-;;;;2825:310;;13240:133:37;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:37;13313:53;;;;-1:-1:-1;;;13313:53:37;;27669:2:229;13313:53:37;;;27651:21:229;27708:2;27688:18;;;27681:30;27747:26;27727:18;;;27720:54;27791:18;;13313:53:37;27467:348:229;13313:53:37;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:37;-1:-1:-1;;;;;12646:29:37;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:37;;;;;;;;;;;12572:171;;:::o;2336:287:30:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:30;;28933:2:229;2460:63:30;;;28915:21:229;28972:2;28952:18;;;28945:30;29011:33;28991:18;;;28984:61;29062:18;;2460:63:30;28731:355:229;2460:63:30;1759:1;2598:7;:18;2336:287::o;6283:933:57:-;6414:15;6387;:24;;;:42;6383:76;;;6438:21;;-1:-1:-1;;;6438:21:57;;;;;;;;;;;6383:76;6520:13;6536:34;6544:15;:25;;;6536:7;:34::i;:::-;6520:50;-1:-1:-1;6577:18:57;6598:40;;6622:15;6598:40;:::i;:::-;:23;:40::i;:::-;6577:61;;6703:84;6740:5;6747:28;6764:10;6747:16;:28::i;:::-;6777:9;;6703:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6703:36:57;;-1:-1:-1;;;6703:84:57:i;:::-;6698:140;;6804:27;;-1:-1:-1;;;6804:27:57;;;;;;;;;;;6698:140;6865:48;6884:5;6891:15;:21;;;6865:18;:48::i;:::-;6950:112;6970:25;;;;6997:5;7004:24;;;;6970:15;7004:24;:::i;:::-;7030:31;;;;:15;:31;:::i;:::-;6950:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:19;:112::i;:::-;7099;7119:25;;;;7146:5;7153:24;;;;7119:15;7153:24;:::i;:::-;7179:31;;;;:15;:31;:::i;:::-;7099:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:19;:112::i;12565:1834::-;12686:12;;12815:25;:14;12839:1;12815:25;:::i;:::-;12804:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12804:37:57;-1:-1:-1;12775:66:57;-1:-1:-1;12980:41:57;13051:25;:14;13075:1;13051:25;:::i;:::-;13024:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;12980:97;;13084:15;13121:11;;13119:13;;;;;:::i;:::-;;;;;-1:-1:-1;13119:13:57;-1:-1:-1;13144:6:57;13139:1024;13152:25;;;13139:1024;;;13196:14;;13211:1;13196:17;;;;;;;:::i;:::-;;;;;;:25;;;13225:1;13196:30;:62;;;;;13230:14;;13245:1;13230:17;;;;;;;:::i;:::-;;;;;;:23;;;13257:1;13230:28;13196:62;13260:8;13192:76;13358:14;;13438:90;13476:12;13490:14;;13505:1;13490:17;;;;;;;:::i;:::-;;;;;;:25;;;13517:10;13438:37;:90::i;:::-;13404:124;;-1:-1:-1;13404:124:57;-1:-1:-1;13560:88:57;13598:12;13612:14;;13627:1;13612:17;;;;;;;:::i;:::-;;;;;;:23;;;13637:10;13560:37;:88::i;:::-;13536:112;;-1:-1:-1;13536:112:57;-1:-1:-1;13658:13:57;;13688:42;13703:14;;13718:1;13703:17;;;;;;;:::i;:::-;;;;;;13722:7;13688:14;:42::i;:::-;13657:73;;;;13783:163;13836:102;;;;;;;;13855:14;;13870:1;13855:17;;;;;;;:::i;:::-;;;;;;:23;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13836:102:57;;;;;13894:14;;13909:1;13894:17;;;;;;;:::i;:::-;;;;;;:23;;;-1:-1:-1;;;;;13836:102:57;;;;;13927:9;13836:102;;;13783:11;13795:9;13783:22;;;;;;;;:::i;:::-;;;;;;;:43;;:163;;;;:::i;:::-;13997:159;14048:100;;;;;;;;14067:14;;14082:1;14067:17;;;;;;;:::i;:::-;;;;;;:23;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14048:100:57;;;;;14106:14;;14121:1;14106:17;;;;;;;:::i;:::-;;;;;;:23;;;-1:-1:-1;;;;;14048:100:57;;;;;14139:7;14048:100;;;13997:11;14009:7;13997:20;;;;;;;;:::i;:159::-;13184:979;;;;13139:1024;13179:3;;;:::i;:::-;;;13139:1024;;;;14174:6;14169:226;14186:10;14182:1;:14;14169:226;;;14211:34;14248:53;14286:11;14298:1;14286:14;;;;;;;;:::i;:::-;;;;;;;14248:37;:53::i;:::-;14211:90;;14309:79;14322:12;14335:1;14322:15;;;;;;;;:::i;:::-;;;;;;;14339:7;14348:10;14360:14;14376:11;;14309:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14309:12:57;;-1:-1:-1;;;14309:79:57:i;:::-;-1:-1:-1;14198:3:57;;;;:::i;:::-;;;;14169:226;;;;12702:1697;;;12565:1834;;;;;;:::o;3474:236::-;3550:10;3578:13;;3576:15;;;;;:::i;:::-;;;;;-1:-1:-1;3597:14:57;;;;:7;:14;;;;;:25;;-1:-1:-1;;;;;;3597:25:57;-1:-1:-1;;;;;3597:25:57;;;;;3576:15;-1:-1:-1;3628:19:57;3634:5;3576:15;3628:5;:19::i;:::-;3695:8;-1:-1:-1;;;;;3658:47:57;3680:5;3673;-1:-1:-1;;;;;3658:47:57;;;;;;;;;;;3474:236;;;;:::o;23501:399::-;23589:29;23620:11;23670:6;:13;23656:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23656:28:57;;23641:43;;23696:6;23691:146;23708:6;:13;23704:1;:17;23691:146;;;23745:85;23783:12;23805:6;23812:1;23805:9;;;;;;;;:::i;:::-;;;;;;;:15;;;23823:6;23745:37;:85::i;:::-;23736:94;-1:-1:-1;23723:3:57;;;:::i;:::-;;;23691:146;;;-1:-1:-1;3304:26:16;;;23501:399:57;;;:::o;11257:1203:37:-;11381:4;-1:-1:-1;;;;;11354:31:37;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:37;;11346:81;;;;-1:-1:-1;;;11346:81:37;;32390:2:229;11346:81:37;;;32372:21:229;32429:2;32409:18;;;32402:30;32468:34;32448:18;;;32441:62;-1:-1:-1;;;32519:18:229;;;32512:35;32564:19;;11346:81:37;32188:401:229;11346:81:37;-1:-1:-1;;;;;11445:16:37;;11437:65;;;;-1:-1:-1;;;11437:65:37;;32796:2:229;11437:65:37;;;32778:21:229;32835:2;32815:18;;;32808:30;32874:34;32854:18;;;32847:62;-1:-1:-1;;;32925:18:229;;;32918:34;32969:19;;11437:65:37;32594:400:229;11437:65:37;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;-1:-1:-1;;;;;11655:31:37;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:37;;11647:81;;;;-1:-1:-1;;;11647:81:37;;32390:2:229;11647:81:37;;;32372:21:229;32429:2;32409:18;;;32402:30;32468:34;32448:18;;;32441:62;-1:-1:-1;;;32519:18:229;;;32512:35;32564:19;;11647:81:37;32188:401:229;11647:81:37;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:37;;;;;;-1:-1:-1;;;;;12265:15:37;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:37;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;11570:656:57:-;11687:12;11721:11;;11719:13;;;;;:::i;:::-;;;;;-1:-1:-1;11719:13:57;-1:-1:-1;11739:13:57;;11769:38;11784:13;11719;11769:14;:38::i;:::-;11738:69;;-1:-1:-1;11738:69:57;-1:-1:-1;11813:203:57;11833:21;;11862:7;11877:10;11895:96;11939:19;;;;;;;;:::i;:::-;11960:13;:19;;;11981:9;11895:43;:96::i;:::-;11999:11;;11813:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11813:12:57;;-1:-1:-1;;;11813:203:57:i;:::-;12022:199;12042:19;;;;12069:7;12084:10;12102:94;12146:19;;;;;;;;:::i;:::-;12167:13;:19;;;12188:7;12102:43;:94::i;12022:199::-;11703:523;;11570:656;;;;;:::o;18407:1489::-;18642:14;;18524:15;18626:31;;;:15;:31;;;;;;;;18658:16;;;;-1:-1:-1;;;;;18626:49:57;;;;;;;;18676:16;;;;18626:67;;;;;;;18718:14;;18699:34;;:18;:34;;;;;:44;;;18771:27;;18524:15;;;;18771:27;;18866:387;;;;18922:55;18933:10;18945:7;18954:10;18966;18922;:55::i;:::-;18891:86;;-1:-1:-1;18891:86:57;-1:-1:-1;18993:24:57;19007:10;18891:86;18993:24;:::i;:::-;18985:32;;18866:387;;;19065:17;;;;19052:30;;:10;:30;:::i;:::-;19098:17;;;;19038:44;;-1:-1:-1;19098:17:57;-1:-1:-1;19245:1:57;19225:21;;;-1:-1:-1;18866:387:57;19289:22;:11;:20;:22::i;:::-;19259:52;;;;-1:-1:-1;;;;;19259:52:57;;;;;;;19321:15;;;;;:35;;-1:-1:-1;19340:16:57;;19321:35;19317:270;;;19383:14;;19399:25;;19366:59;;19383:14;-1:-1:-1;;;19399:25:57;;;;19366:16;:59::i;:::-;19317:270;;;19442:15;;:35;;;;-1:-1:-1;19461:16:57;;;19442:35;19438:149;;;19515:65;19529:10;:14;;;19545:10;:16;;;19563:10;:16;;;19515:13;:65::i;:::-;19487:93;;;;;;;-1:-1:-1;;;19487:93:57;-1:-1:-1;;;;;19487:93:57;;;;;;19438:149;19803:16;;;;;19766;;;;;19659:14;;19795:25;19651:23;;;:7;:23;;;;;;19621:14;;19598:293;;33650:25:229;;;33691:18;;;33684:34;;;33734:18;;;33727:34;;;19789:2:57;33777:18:229;;;33770:34;;;19745:46:57;;;;-1:-1:-1;;19745:46:57;19737:83;;;;-1:-1:-1;;;;;19651:23:57;;;;19621:14;19598:293;;33637:3:229;33622:19;19598:293:57;;;;;;;18574:1322;;18407:1489;;;;;;;:::o;1760:344:113:-;1955:32;;;1985:1;1955:32;;;;;;;;;1871;;1913:39;;1955:32;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;1955:32:113;;-1:-1:-1;;1955:32:113;;;;;;;;;;;1913:74;;2005:75;;;;;;;;2037:5;-1:-1:-1;;;;;2005:75:113;;;;;2058:5;-1:-1:-1;;;;;2005:75:113;;;;;2073:5;2005:75;;;1993:6;2000:1;1993:9;;;;;;;;:::i;:::-;;;;;;;;;;:87;2093:6;1760:344;-1:-1:-1;;;;1760:344:113:o;20425:250:57:-;20586:18;;;;:7;:18;;;;;;;;:84;;-1:-1:-1;;;20586:84:57;;-1:-1:-1;;;;;20586:18:57;;;;:35;;:84;;20594:9;;20633:7;;20642:6;;20650;;20658:11;;20586:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20425:250;;;;;:::o;12879:277:37:-;12999:8;-1:-1:-1;;;;;12990:17:37;:5;-1:-1:-1;;;;;12990:17:37;;12982:55;;;;-1:-1:-1;;;12982:55:37;;35350:2:229;12982:55:37;;;35332:21:229;35389:2;35369:18;;;35362:30;35428:27;35408:18;;;35401:55;35473:18;;12982:55:37;35148:349:229;12982:55:37;-1:-1:-1;;;;;13047:25:37;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:37;;;;;;;;;;13108:41;;540::229;;;13108::37;;513:18:229;13108:41:37;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:37;;35704:2:229;6476:110:37;;;35686:21:229;35743:2;35723:18;;;35716:30;35782:34;35762:18;;;35755:62;35853:20;35833:18;;;35826:48;35891:19;;6476:110:37;35502:414:229;447:696:43;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:43;-1:-1:-1;604:41:43;-1:-1:-1;765:28:43;;;781:2;765:28;820:280;-1:-1:-1;;851:5:43;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:43;820:280;1064:21;-1:-1:-1;1120:6:43;447:696;-1:-1:-1;;;447:696:43:o;1830:461:55:-;2012:17;;1991:18;2035:252;2052:13;2048:1;:17;2035:252;;;2154:10;2165:1;2154:13;;;;;;;;:::i;:::-;;;;;;;:22;;;2080;:33;2103:9;2080:33;;;;;;;;;;;:40;2114:5;-1:-1:-1;;;;;2080:40:55;-1:-1:-1;;;;;2080:40:55;;;;;;;;;;;;:61;2121:10;2132:1;2121:13;;;;;;;;:::i;:::-;;;;;;;:19;;;-1:-1:-1;;;;;2080:61:55;-1:-1:-1;;;;;2080:61:55;;;;;;;;;;;;:71;2142:8;-1:-1:-1;;;;;2080:71:55;-1:-1:-1;;;;;2080:71:55;;;;;;;;;;;;:96;;;;2258:10;2269:1;2258:13;;;;;;;;:::i;:::-;;;;;;;:22;;;2184;:33;2207:9;2184:33;;;;;;;;;;;:40;2218:5;-1:-1:-1;;;;;2184:40:55;-1:-1:-1;;;;;2184:40:55;;;;;;;;;;;;:61;2225:10;2236:1;2225:13;;;;;;;;:::i;:::-;;;;;;;;;;;;:19;-1:-1:-1;;;;;2184:61:55;;;;;;;;;;;;;;;;2225:19;2184:61;;;:71;;;;;;;;;;:96;2067:3;;;;:::i;:::-;;;;2035:252;;3152:308:45;3205:7;3236:4;-1:-1:-1;;;;;3245:12:45;3228:29;;:66;;;;;3278:16;3261:13;:33;3228:66;3224:230;;;-1:-1:-1;3317:24:45;;3152:308::o;3224:230::-;-1:-1:-1;3642:73:45;;;3401:10;3642:73;;;;42947:25:229;;;;3413:12:45;42988:18:229;;;42981:34;3427:15:45;43031:18:229;;;43024:34;3686:13:45;43074:18:229;;;43067:34;3709:4:45;43117:19:229;;;;43110:84;;;;3642:73:45;;;;;;;;;;42919:19:229;;;;3642:73:45;;;3632:84;;;;;;25598:97:57:o;7404:261:37:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:37;:7;-1:-1:-1;;;;;7570:16:37;;:52;;;-1:-1:-1;;;;;;4508:25:37;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:37;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:37;;7562:96;7404:261;-1:-1:-1;;;;7404:261:37:o;1177:928:114:-;1292:22;;;;:29;1347:22;;;;:29;1257:7;;1292:29;1257:7;1292:29;1424:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1424:27:114;;1383:68;;1462:6;1457:128;1478:12;1474:1;:16;1457:128;;;1532:46;1552:6;:22;;;1575:1;1552:25;;;;;;;;:::i;:::-;;;;;;;1532:19;:46::i;:::-;1505:21;1527:1;1505:24;;;;;;;;:::i;:::-;;;;;;;;;;:73;1492:3;;;:::i;:::-;;;1457:128;;;;1591:38;1646:12;1632:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1632:27:114;;1591:68;;1670:6;1665:128;1686:12;1682:1;:16;1665:128;;;1740:46;1760:6;:22;;;1783:1;1760:25;;;;;;;;:::i;:::-;;;;;;;1740:19;:46::i;:::-;1713:21;1735:1;1713:24;;;;;;;;:::i;:::-;;;;;;;;;;:73;1700:3;;;:::i;:::-;;;1665:128;;;;311:309;1878:6;:15;;;1903:6;:12;;;1925:6;:16;;;1951:6;:15;;;2003:21;1986:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;1976:50;;;;;;2063:21;2046:39;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2046:39:114;;;;;;;;;2036:50;;2046:39;2036:50;;;;1823:271;;;36916:25:229;;;;-1:-1:-1;;;;;36977:55:229;;;36957:18;;;36950:83;;;;37049:18;;;37042:34;;;;37092:18;;;37085:34;;;;37135:19;;;37128:35;37179:19;;;37172:35;37223:19;;;37216:35;;;;36888:19;;1823:271:114;;;;;;;;;;;;1806:294;;;;;;1799:301;;;;;;1177:928;;;:::o;4348:165:45:-;4425:7;4451:55;4473:20;:18;:20::i;:::-;4495:10;8334:57:44;;-1:-1:-1;;;8334:57:44;;;44511:27:229;44554:11;;;44547:27;;;44590:12;;;44583:28;;;8298:7:44;;44627:12:229;;8334:57:44;;;;;;;;;;;;8324:68;;;;;;8317:75;;8205:194;;;;;1014:637:46;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:46;-1:-1:-1;1240:26:46;1231:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1283:6;-1:-1:-1;;;;;1270:19:46;:9;-1:-1:-1;;;;;1270:19:46;;1231:58;1227:100;;;1312:4;1305:11;;;;;;1227:100;1338:12;1352:19;1375:6;-1:-1:-1;;;;;1375:17:46;1429:34;;;1465:4;1471:9;1406:75;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1406:75:46;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1406:75:46;;;;;;;;;;1375:116;;;;1406:75;1375:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1337:154;;;;1509:7;:42;;;;;1532:6;:13;1549:2;1532:19;1509:42;:134;;;;-1:-1:-1;1567:29:46;;-1:-1:-1;;;1608:34:46;1567:29;;;;;;;;;;;;:::i;:::-;:76;1501:143;1014:637;-1:-1:-1;;;;;;;;1014:637:46:o;7610:336:57:-;-1:-1:-1;;;;;7781:17:57;;7680:12;7781:17;;;:11;:17;;;;;;;;8726:1;8717:10;;;7781:26;;;;;;;:33;;7749:1;8734:21;;;7749:11;;;7781:33;;;;;;;8717:10;;7749:11;;7781:33;7897:13;;;:18;;7893:48;;7924:17;;-1:-1:-1;;;7924:17:57;;;;;;;;;;;655:392:16;769:16;787:10;807:14;824:40;836:5;843:10;855:8;824:11;:40::i;:::-;807:57;-1:-1:-1;874:16:16;;870:132;;918:10;900:5;906:8;900:15;;;;;;;;:::i;:::-;;;;;;;;;;:28;-1:-1:-1;;;975:1:16;964:12;;;956:31;;870:132;1015:8;;-1:-1:-1;1030:10:16;-1:-1:-1;655:392:16;;;;;;;:::o;14716:1719:57:-;14818:13;;14883:19;;;;14858:21;;:44;14854:136;;14919:64;;-1:-1:-1;;;14919:64:57;;14951:10;14919:64;;;38343:74:229;14963:19:57;;;;38433:18:229;;;38426:34;38316:18;;14919:64:57;38169:297:229;14854:136:57;15039:204;;;;;;;;15068:21;;15039:204;;14996:40;;15039:204;;;;15104:19;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15039:204:57;;;15138:19;;;;15039:204;;;;;;15173:21;15174:20;;;;15173:21;:::i;:::-;15039:204;;;;15213:13;:23;;;15039:204;;;14996:247;;15250:38;15291:201;;;;;;;;15320:13;:19;;;15291:201;;;;15354:13;:19;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15291:201:57;;;15388:19;;;;;15291:201;;;;15423:20;;;;15291:201;;;;15462:23;;;;15291:201;;;15250:242;-1:-1:-1;;;15601:48:57;15616:17;15635:7;15644:4;15601:14;:48::i;:::-;15546:103;;;;;15658:12;15672:30;15706:46;15721:15;15738:7;15747:4;15706:14;:46::i;:::-;15655:97;;;;;15816:27;:85;;;;;15848:53;15867:10;15879:17;:21;;;15848:18;:53::i;:::-;15847:54;15816:85;15812:184;;;15911:78;15927:17;15946:30;15954:17;:21;;;15946:7;:30::i;:::-;15978:10;15911:15;:78::i;:::-;16005:25;:81;;;;;16035:51;16054:10;16066:15;:19;;;16035:18;:51::i;:::-;16034:52;16005:81;16001:176;;;16096:74;16112:15;16129:28;16137:15;:19;;;16129:7;:28::i;16096:74::-;16241:19;;;;16212:21;;16188:206;16268:19;;;;;;;;:::i;:::-;16295:13;:19;;;16322:13;:20;;;16350:13;:23;;;16381:7;16188:206;;;;;;;;;-1:-1:-1;;;;;38903:55:229;;;;38885:74;;38990:2;38975:18;;38968:34;;;;39033:2;39018:18;;39011:34;;;;39076:2;39061:18;;39054:34;39119:3;39104:19;;39097:35;38872:3;38857:19;;38612:526;16188:206:57;;;;;;;;-1:-1:-1;16409:10:57;;-1:-1:-1;16421:8:57;;-1:-1:-1;;;;14716:1719:57;;;;;;:::o;681:686:113:-;832:6;827:505;844:19;840:23;;827:505;;;903:5;:11;;;-1:-1:-1;;;;;878:36:113;:5;:12;;;891:1;878:15;;;;;;;:::i;:::-;;;;;:21;-1:-1:-1;;;;;878:36:113;;:76;;;;;943:5;:11;;;-1:-1:-1;;;;;918:36:113;:5;:12;;;931:1;918:15;;;;;;;:::i;:::-;;;;;:21;;;-1:-1:-1;;;;;918:36:113;;878:76;874:412;;;991:5;:11;;;966:5;:12;;;979:1;966:15;;;;;;;:::i;:::-;;;;;:21;;:36;;;;;;;:::i;:::-;;;-1:-1:-1;;;;681:686:113:o;874:412::-;1037:12;;;;1077:1;;1050;1037:15;;;;;;;:::i;:::-;;;;;:21;-1:-1:-1;;;;;1037:43:113;;:73;;;;;1084:5;:12;;;1097:1;1084:15;;;;;;;:::i;:::-;;;;;:21;;;-1:-1:-1;;;;;1084:26:113;1109:1;1084:26;1037:73;1033:253;;;1199:5;1181;:12;;;1194:1;1181:15;;;;;;;:::i;:::-;;;;:23;-1:-1:-1;;1236:15:113;;1250:1;1236:15;;;681:686::o;1033:253::-;1314:3;;827:505;;;;1344:18;;-1:-1:-1;;;1344:18:113;;;;;;;;;;;1371:385;1487:32;1529:39;1601:5;:10;;;1571:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;1571:41:113;;-1:-1:-1;;1571:41:113;;;;;;;;;;;;1529:83;;1623:6;1618:115;1635:6;:13;1631:1;:17;1618:115;;;1671:5;:12;;;1684:1;1671:15;;;;;;;:::i;:::-;;;;;1659:6;1666:1;1659:9;;;;;;;;:::i;:::-;;;;;;;;;;:27;1715:3;;1618:115;;8925:920:37;-1:-1:-1;;;;;9004:16:37;;8996:61;;;;-1:-1:-1;;;8996:61:37;;39345:2:229;8996:61:37;;;39327:21:229;;;39364:18;;;39357:30;39423:34;39403:18;;;39396:62;39475:18;;8996:61:37;39143:356:229;8996:61:37;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:37;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:37;;39706:2:229;9067:58:37;;;39688:21:229;39745:2;39725:18;;;39718:30;39784;39764:18;;;39757:58;39832:18;;9067:58:37;39504:352:229;9067:58:37;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:37;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:37;;39706:2:229;9271:58:37;;;39688:21:229;39745:2;39725:18;;;39718:30;39784;39764:18;;;39757:58;39832:18;;9271:58:37;39504:352:229;9271:58:37;-1:-1:-1;;;;;9671:13:37;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:37;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;1441:296:16:-;1561:16;1591:40;1603:5;1610:10;1622:8;1591:11;:40::i;:::-;:46;1587:125;;1687:10;1667:5;1673:10;;;;;;1667:17;;;;;;;;:::i;:::-;;;;;;:30;-1:-1:-1;;;;;1667:30:16;;;-1:-1:-1;;;;;1667:30:16;;;;;-1:-1:-1;1724:8:16;1441:296;-1:-1:-1;;1441:296:16:o;15472:396:37:-;15656:1;15644:9;:13;15640:222;;;-1:-1:-1;;;;;15677:18:37;;;15673:85;;-1:-1:-1;;;;;15715:15:37;;;;;;:9;:15;;;;;:28;;15734:9;;15715:15;:28;;15734:9;;15715:28;:::i;:::-;;;;-1:-1:-1;;15673:85:37;-1:-1:-1;;;;;15775:16:37;;;15771:81;;-1:-1:-1;;;;;15811:13:37;;;;;;:9;:13;;;;;:26;;15828:9;;15811:13;:26;;15828:9;;15811:26;:::i;:::-;;;;-1:-1:-1;;15472:396:37;;;;:::o;21381:284:57:-;21561:16;;;;;;21636:14;;21508:16;21628:23;;;:7;:23;;;;;;;;21561:99;;-1:-1:-1;;;21561:99:57;;40485:13:229;;21561:99:57;;;40467:32:229;40528:24;;-1:-1:-1;;;;;40651:21:229;;;40629:20;;;40622:51;40717:17;;;40711:24;40689:20;;;40682:54;40792:4;40780:17;;40774:24;40752:20;;;40745:54;40855:4;40843:17;;40837:24;40815:20;;;40808:54;40878:19;;;40871:35;;;40922:19;;;40915:35;;;21628:23:57;;40966:19:229;;;40959:44;41040:15;;;41019:19;;;41012:44;21508:16:57;;21561:33;;;;;40439:19:229;;21561:99:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21554:106;;;;21381:284;;;;;;;;:::o;18275:198:50:-;18379:5;18403:19;;;;;;18395:71;;;;-1:-1:-1;;;18395:71:50;;41579:2:229;18395:71:50;;;41561:21:229;41618:2;41598:18;;;41591:30;41657:34;41637:18;;;41630:62;41728:9;41708:18;;;41701:37;41755:19;;18395:71:50;41377:403:229;18395:71:50;18275:198;;;:::o;22688:627:57:-;22807:17;22827:21;;;:10;:21;;;;;:28;22952:16;22967:1;22827:28;22952:16;:::i;:::-;22943:5;:25;;;22939:327;;22978:28;23009:21;;;:10;:21;;;;;23031:16;23046:1;23031:12;:16;:::i;:::-;23009:39;;;;;;;;:::i;:::-;;;;;;;;;22978:70;;;;;;;;23009:39;;;;22978:70;-1:-1:-1;;;;;22978:70:57;;;;-1:-1:-1;;;;;;;;22978:70:57;;;;;;;;23056:21;;;:10;:21;;;;;:28;;22978:70;;-1:-1:-1;22978:70:57;;23056:28;;;;;;;;;;:::i;:::-;;;;;;;;;:42;;;;;;-1:-1:-1;;;;;23056:42:57;;;-1:-1:-1;;;23056:42:57;-1:-1:-1;;;;;23056:42:57;;;;:28;;;;:42;23175:26;;;:15;:26;;;;;;23202:17;;23175:45;;;;;;;;;;;23226:17;;;;23221:23;;;23175:70;;;;;;;;:84;;;;;-1:-1:-1;;;23175:84:57;-1:-1:-1;;;;;23175:84:57;;;;;;22939:327;23272:21;;;;:10;:21;;;;;:27;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;23272:27:57;;;;;;;;;;-1:-1:-1;;;22688:627:57:o;22052:251::-;22135:15;22158:21;;;:10;:21;;;;;;;;22185:50;;;;;;;;-1:-1:-1;;;;;22185:50:57;;;;22158:21;22185:50;;22217:16;:5;:14;:16::i;:::-;-1:-1:-1;;;;;22185:50:57;;;;;;22158:78;;;;;;;;-1:-1:-1;22158:78:57;;;;;;;;;;;;;;;;-1:-1:-1;;;22158:78:57;-1:-1:-1;;;;;22158:78:57;;;;;;;;;;;;;;;22254:21;;;:10;:21;;;;;;;:28;22253:45;;22254:32;;;:::i;:::-;22253:43;:45::i;13925:831:37:-;14074:4;-1:-1:-1;;;;;14094:13:37;;1702:19:41;:23;14090:660:37;;14129:71;;-1:-1:-1;;;14129:71:37;;-1:-1:-1;;;;;14129:36:37;;;;;:71;;719:10:42;;14180:4:37;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:37;;;;;;;;-1:-1:-1;;14129:71:37;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:37;;35704:2:229;14409:60:37;;;35686:21:229;35743:2;35723:18;;;35716:30;35782:34;35762:18;;;35755:62;35853:20;35833:18;;;35826:48;35891:19;;14409:60:37;35502:414:229;14363:321:37;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:37;-1:-1:-1;;;14250:51:37;;-1:-1:-1;14243:58:37;;14090:660;-1:-1:-1;14735:4:37;14728:11;;9846:916:49;9899:7;;9983:8;9974:17;;9970:103;;10020:8;10011:17;;;-1:-1:-1;10056:2:49;10046:12;9970:103;10099:8;10090:5;:17;10086:103;;10136:8;10127:17;;;-1:-1:-1;10172:2:49;10162:12;10086:103;10215:8;10206:5;:17;10202:103;;10252:8;10243:17;;;-1:-1:-1;10288:2:49;10278:12;10202:103;10331:7;10322:5;:16;10318:100;;10367:7;10358:16;;;-1:-1:-1;10402:1:49;10392:11;10318:100;10444:7;10435:5;:16;10431:100;;10480:7;10471:16;;;-1:-1:-1;10515:1:49;10505:11;10431:100;10557:7;10548:5;:16;10544:100;;10593:7;10584:16;;;-1:-1:-1;10628:1:49;10618:11;10544:100;10670:7;10661:5;:16;10657:66;;10707:1;10697:11;10749:6;9846:916;-1:-1:-1;;9846:916:49:o;2109:181:114:-;2237:47;;;680:76;2237:47;;;;43446:25:229;;;;43511:13;;-1:-1:-1;;;;;43507:62:229;43487:18;;;43480:90;43612:15;;43606:22;43586:18;;;43579:50;43671:15;;;43665:22;43645:18;;;43638:50;2205:7:114;;43418:19:229;;2237:47:114;;;;;;;;;;;;;2227:58;;;;;;2220:65;;2109:181;;;:::o;2294:::-;2422:47;;;816:90;2422:47;;;;43940:25:229;;;;44005:13;;-1:-1:-1;;;;;44001:62:229;43981:18;;;43974:90;44106:15;;44100:22;44080:18;;;;44073:50;;;;44165:15;;;44159:22;44139:18;;;44132:50;44225:15;;;44219:22;43927:3;44198:19;;44191:51;2390:7:114;;43912:19:229;;2422:47:114;43699:549:229;2145:730:44;2226:7;2235:12;2263:9;:16;2283:2;2263:22;2259:610;;2599:4;2584:20;;2578:27;2648:4;2633:20;;2627:27;2705:4;2690:20;;2684:27;2301:9;2676:36;2746:25;2757:4;2676:36;2578:27;2627;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;-1:-1:-1;2818:1:44;;-1:-1:-1;2822:35:44;2802:56;;1945:325:16;2038:9;2078:6;2073:170;2090:8;2086:1;:12;2073:170;;;2119:5;2125:1;2119:8;;;;;;;;:::i;:::-;;;;;;;2131:1;2119:13;2115:51;;-1:-1:-1;;2146:9:16;;;;;2115:51;2191:6;2179:5;2185:1;2179:8;;;;;;;;:::i;:::-;;;;;;;:18;2175:60;;2222:1;-1:-1:-1;2211:13:16;;2175:60;2100:3;;2073:170;;;-1:-1:-1;;;2257:2:16;1945:325;-1:-1:-1;;;;1945:325:16:o;3456:888:55:-;3617:10;:17;;;3638:1;3617:22;3613:49;;3456:888;;;:::o;3613:49::-;3756:1;3736:10;:17;;;:21;3732:608;;;3795:14;;;3819:38;;;;;;;;;;;-1:-1:-1;;;;;3819:45:55;;;;;;;;;;;;3865:16;;;;;3819:63;;;;;;;;;;3883:16;;;;3819:81;;;;;;;3933:14;;3910:38;;:22;:38;;;;;:45;;;;;;;;;3956:16;;3910:63;;;;;;;;;;;3999:17;;;;3767:257;;3795:14;3819:81;3910:63;3983:6;;3767:18;:257::i;3732:608::-;4104:14;;;4128:38;;;:22;:38;;;;;;;;-1:-1:-1;;;;;4128:45:55;;;;;;;;;;;;4174:16;;;;;4128:63;;;;;;;;;;4192:16;;;;4128:81;;;;;;;4242:14;;4219:38;;:22;:38;;;;;:45;;;;;;;;;4265:16;;4219:63;;;;;;;;;;;4308:17;;;;4076:257;;4104:14;4128:81;4219:63;4292:6;;4076:18;:257::i;2481:340:16:-;2580:9;2620:6;2615:179;2632:8;2628:1;:12;2615:179;;;2681:1;-1:-1:-1;;;;;2661:22:16;:5;2667:1;2661:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2661:22:16;;2657:60;;-1:-1:-1;;2697:9:16;;;;;2657:60;2742:6;-1:-1:-1;;;;;2730:18:16;:5;2736:1;2730:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;2730:18:16;;2726:60;;2773:1;-1:-1:-1;2762:13:16;;2726:60;2642:3;;2615:179;;11168:187:50;11224:6;-1:-1:-1;;;;;11250:25:50;;;11242:76;;;;-1:-1:-1;;;11242:76:50;;44852:2:229;11242:76:50;;;44834:21:229;44891:2;44871:18;;;44864:30;44930:34;44910:18;;;44903:62;-1:-1:-1;;;44981:18:229;;;44974:36;45027:19;;11242:76:50;44650:402:229;11242:76:50;-1:-1:-1;11342:5:50;11168:187::o;16288:::-;16344:6;16379:16;16370:25;;;16362:76;;;;-1:-1:-1;;;16362:76:50;;45259:2:229;16362:76:50;;;45241:21:229;45298:2;45278:18;;;45271:30;45337:34;45317:18;;;45310:62;-1:-1:-1;;;45388:18:229;;;45381:36;45434:19;;16362:76:50;45057:402:229;5009:1456:44;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:44;;-1:-1:-1;6123:30:44;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;45691:25:229;;;45764:4;45752:17;;45732:18;;;45725:45;;;;45786:18;;;45779:34;;;45829:18;;;45822:34;;;6276:24:44;;45663:19:229;;6276:24:44;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:44;;-1:-1:-1;;6276:24:44;;;-1:-1:-1;;;;;;;6314:20:44;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;6437:20;;-1:-1:-1;5009:1456:44;-1:-1:-1;;;;;5009:1456:44:o;4731:856:55:-;-1:-1:-1;;;;;4971:27:55;;4949:19;4971:27;;;;;;;;;;;;5026;;;;;;;4971;;5077:22;5092:6;5077:14;:22::i;:::-;5060:39;;5189:14;5176:9;:27;5172:411;;5243:26;5260:9;5243:14;:26;:::i;:::-;-1:-1:-1;;;;;5213:27:55;;;;;;;;;;;;;:56;5172:411;;;5299:31;5316:14;5299;:31;:::i;:::-;5286:9;:44;5282:301;;-1:-1:-1;;;;;5340:27:55;;5370:1;5340:27;;;;;;;;;;:31;5427:26;5439:14;5427:9;:26;:::i;:::-;5409:45;;:14;:45;:::i;:::-;-1:-1:-1;;;;;5379:27:55;;;;;;;;;;;;;:75;5282:301;;;5482:94;;-1:-1:-1;;;5482:94:55;;5514:10;5482:94;;;38885:74:229;38975:18;;;38968:34;;;39018:18;;;39011:34;;;39061:18;;;39054:34;;;39104:19;;;39097:35;;;38857:19;;5482:94:55;38612:526:229;5282:301:55;4943:644;;;4731:856;;;;;:::o;1047:213:51:-;1093:7;1232:1;1227;:6;;:15;;1241:1;1240:2;;1227:15;;-1:-1:-1;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:229:-;-1:-1:-1;;;;;;88:32:229;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:154::-;-1:-1:-1;;;;;671:5:229;667:54;660:5;657:65;647:93;;736:1;733;726:12;751:134;819:20;;848:31;819:20;848:31;:::i;890:127::-;951:10;946:3;942:20;939:1;932:31;982:4;979:1;972:15;1006:4;1003:1;996:15;1022:253;1094:2;1088:9;1136:4;1124:17;;1171:18;1156:34;;1192:22;;;1153:62;1150:88;;;1218:18;;:::i;:::-;1254:2;1247:22;1022:253;:::o;1280:275::-;1351:2;1345:9;1416:2;1397:13;;-1:-1:-1;;1393:27:229;1381:40;;1451:18;1436:34;;1472:22;;;1433:62;1430:88;;;1498:18;;:::i;:::-;1534:2;1527:22;1280:275;;-1:-1:-1;1280:275:229:o;1560:197::-;1634:4;1667:18;1659:6;1656:30;1653:56;;;1689:18;;:::i;:::-;-1:-1:-1;1734:1:229;1730:14;1746:4;1726:25;;1560:197::o;1762:684::-;1823:5;1871:4;1859:9;1854:3;1850:19;1846:30;1843:50;;;1889:1;1886;1879:12;1843:50;1922:2;1916:9;1964:4;1956:6;1952:17;2035:6;2023:10;2020:22;1999:18;1987:10;1984:34;1981:62;1978:88;;;2046:18;;:::i;:::-;2082:2;2075:22;2115:6;-1:-1:-1;2115:6:229;2145:23;;2177:33;2145:23;2177:33;:::i;:::-;2234:7;2226:6;2219:23;;2303:2;2292:9;2288:18;2275:32;2270:2;2262:6;2258:15;2251:57;2369:2;2358:9;2354:18;2341:32;2336:2;2328:6;2324:15;2317:57;2435:2;2424:9;2420:18;2407:32;2402:2;2394:6;2390:15;2383:57;;1762:684;;;;:::o;2451:717::-;2519:5;2572:3;2565:4;2557:6;2553:17;2549:27;2539:55;;2590:1;2587;2580:12;2539:55;2626:6;2613:20;2652:4;2676:74;2692:57;2746:2;2692:57;:::i;:::-;2676:74;:::i;:::-;2784:15;;;2870:1;2866:10;;;;2854:23;;2850:32;;;2815:12;;;;2894:15;;;2891:35;;;2922:1;2919;2912:12;2891:35;2958:2;2950:6;2946:15;2970:169;2986:6;2981:3;2978:15;2970:169;;;3054:42;3092:3;3087;3054:42;:::i;:::-;3042:55;;3117:12;;;;3012:4;3003:14;2970:169;;;-1:-1:-1;3157:5:229;2451:717;-1:-1:-1;;;;;;2451:717:229:o;3173:598::-;3308:6;3316;3324;3377:2;3365:9;3356:7;3352:23;3348:32;3345:52;;;3393:1;3390;3383:12;3345:52;3429:9;3416:23;3406:33;;3489:2;3478:9;3474:18;3461:32;3502:31;3527:5;3502:31;:::i;:::-;3552:5;-1:-1:-1;3608:2:229;3593:18;;3580:32;3635:18;3624:30;;3621:50;;;3667:1;3664;3657:12;3621:50;3690:75;3757:7;3748:6;3737:9;3733:22;3690:75;:::i;:::-;3680:85;;;3173:598;;;;;:::o;3776:250::-;3861:1;3871:113;3885:6;3882:1;3879:13;3871:113;;;3961:11;;;3955:18;3942:11;;;3935:39;3907:2;3900:10;3871:113;;;-1:-1:-1;;4018:1:229;4000:16;;3993:27;3776:250::o;4031:271::-;4073:3;4111:5;4105:12;4138:6;4133:3;4126:19;4154:76;4223:6;4216:4;4211:3;4207:14;4200:4;4193:5;4189:16;4154:76;:::i;:::-;4284:2;4263:15;-1:-1:-1;;4259:29:229;4250:39;;;;4291:4;4246:50;;4031:271;-1:-1:-1;;4031:271:229:o;4307:220::-;4456:2;4445:9;4438:21;4419:4;4476:45;4517:2;4506:9;4502:18;4494:6;4476:45;:::i;4532:399::-;4625:6;4633;4641;4694:2;4682:9;4673:7;4669:23;4665:32;4662:52;;;4710:1;4707;4700:12;4662:52;4746:9;4733:23;4723:33;;4806:2;4795:9;4791:18;4778:32;4819:31;4844:5;4819:31;:::i;:::-;4532:399;;4869:5;;-1:-1:-1;;;4921:2:229;4906:18;;;;4893:32;;4532:399::o;5116:180::-;5175:6;5228:2;5216:9;5207:7;5203:23;5199:32;5196:52;;;5244:1;5241;5234:12;5196:52;-1:-1:-1;5267:23:229;;5116:180;-1:-1:-1;5116:180:229:o;5532:315::-;5600:6;5608;5661:2;5649:9;5640:7;5636:23;5632:32;5629:52;;;5677:1;5674;5667:12;5629:52;5716:9;5703:23;5735:31;5760:5;5735:31;:::i;:::-;5785:5;5837:2;5822:18;;;;5809:32;;-1:-1:-1;;;5532:315:229:o;5852:392::-;5937:8;5947:6;6001:3;5994:4;5986:6;5982:17;5978:27;5968:55;;6019:1;6016;6009:12;5968:55;-1:-1:-1;6042:20:229;;6085:18;6074:30;;6071:50;;;6117:1;6114;6107:12;6071:50;6154:4;6146:6;6142:17;6130:29;;6217:3;6210:4;6202;6194:6;6190:17;6182:6;6178:30;6174:41;6171:50;6168:70;;;6234:1;6231;6224:12;6249:347;6300:8;6310:6;6364:3;6357:4;6349:6;6345:17;6341:27;6331:55;;6382:1;6379;6372:12;6331:55;-1:-1:-1;6405:20:229;;6448:18;6437:30;;6434:50;;;6480:1;6477;6470:12;6434:50;6517:4;6509:6;6505:17;6493:29;;6569:3;6562:4;6553:6;6545;6541:19;6537:30;6534:39;6531:59;;;6586:1;6583;6576:12;6601:391;6688:8;6698:6;6752:3;6745:4;6737:6;6733:17;6729:27;6719:55;;6770:1;6767;6760:12;6719:55;-1:-1:-1;6793:20:229;;6836:18;6825:30;;6822:50;;;6868:1;6865;6858:12;6822:50;6905:4;6897:6;6893:17;6881:29;;6965:3;6958:4;6948:6;6945:1;6941:14;6933:6;6929:27;6925:38;6922:47;6919:67;;;6982:1;6979;6972:12;6997:1527;7256:6;7264;7272;7280;7288;7296;7304;7312;7365:3;7353:9;7344:7;7340:23;7336:33;7333:53;;;7382:1;7379;7372:12;7333:53;7422:9;7409:23;7451:18;7492:2;7484:6;7481:14;7478:34;;;7508:1;7505;7498:12;7478:34;7547:92;7631:7;7622:6;7611:9;7607:22;7547:92;:::i;:::-;7658:8;;-1:-1:-1;7521:118:229;-1:-1:-1;7746:2:229;7731:18;;7718:32;;-1:-1:-1;7762:16:229;;;7759:36;;;7791:1;7788;7781:12;7759:36;7830:60;7882:7;7871:8;7860:9;7856:24;7830:60;:::i;:::-;7909:8;;-1:-1:-1;7804:86:229;-1:-1:-1;7997:2:229;7982:18;;7969:32;;-1:-1:-1;8013:16:229;;;8010:36;;;8042:1;8039;8032:12;8010:36;8081:96;8169:7;8158:8;8147:9;8143:24;8081:96;:::i;:::-;8196:8;;-1:-1:-1;8055:122:229;-1:-1:-1;8284:2:229;8269:18;;8256:32;;-1:-1:-1;8300:16:229;;;8297:36;;;8329:1;8326;8319:12;8297:36;;8368:96;8456:7;8445:8;8434:9;8430:24;8368:96;:::i;:::-;6997:1527;;;;-1:-1:-1;6997:1527:229;;-1:-1:-1;6997:1527:229;;;;;;8483:8;-1:-1:-1;;;6997:1527:229:o;8711:406::-;8797:6;8805;8858:2;8846:9;8837:7;8833:23;8829:32;8826:52;;;8874:1;8871;8864:12;8826:52;8913:9;8900:23;8932:31;8957:5;8932:31;:::i;:::-;8982:5;-1:-1:-1;9039:2:229;9024:18;;9011:32;9052:33;9011:32;9052:33;:::i;:::-;9104:7;9094:17;;;8711:406;;;;;:::o;9122:681::-;9293:2;9345:21;;;9415:13;;9318:18;;;9437:22;;;9264:4;;9293:2;9516:15;;;;9490:2;9475:18;;;9264:4;9559:218;9573:6;9570:1;9567:13;9559:218;;;9638:13;;-1:-1:-1;;;;;9634:62:229;9622:75;;9752:15;;;;9717:12;;;;9595:1;9588:9;9559:218;;9808:456;9885:6;9893;9901;9954:2;9942:9;9933:7;9929:23;9925:32;9922:52;;;9970:1;9967;9960:12;9922:52;10009:9;9996:23;10028:31;10053:5;10028:31;:::i;:::-;10078:5;-1:-1:-1;10135:2:229;10120:18;;10107:32;10148:33;10107:32;10148:33;:::i;10269:248::-;10337:6;10345;10398:2;10386:9;10377:7;10373:23;10369:32;10366:52;;;10414:1;10411;10404:12;10366:52;-1:-1:-1;;10437:23:229;;;10507:2;10492:18;;;10479:32;;-1:-1:-1;10269:248:229:o;10522:614::-;10624:6;10632;10640;10648;10701:3;10689:9;10680:7;10676:23;10672:33;10669:53;;;10718:1;10715;10708:12;10669:53;10754:9;10741:23;10731:33;;10814:2;10803:9;10799:18;10786:32;10827:31;10852:5;10827:31;:::i;:::-;10877:5;-1:-1:-1;10934:2:229;10919:18;;10906:32;10947:33;10906:32;10947:33;:::i;:::-;10999:7;-1:-1:-1;11058:2:229;11043:18;;11030:32;11071:33;11030:32;11071:33;:::i;:::-;10522:614;;;;-1:-1:-1;10522:614:229;;-1:-1:-1;;10522:614:229:o;11141:164::-;11209:5;11254:3;11245:6;11240:3;11236:16;11232:26;11229:46;;;11271:1;11268;11261:12;11229:46;-1:-1:-1;11293:6:229;11141:164;-1:-1:-1;11141:164:229:o;11310:681::-;11425:6;11433;11441;11494:2;11482:9;11473:7;11469:23;11465:32;11462:52;;;11510:1;11507;11500:12;11462:52;11550:9;11537:23;11579:18;11620:2;11612:6;11609:14;11606:34;;;11636:1;11633;11626:12;11606:34;11659:75;11726:7;11717:6;11706:9;11702:22;11659:75;:::i;:::-;11649:85;;11787:2;11776:9;11772:18;11759:32;11743:48;;11816:2;11806:8;11803:16;11800:36;;;11832:1;11829;11822:12;11800:36;;11871:60;11923:7;11912:8;11901:9;11897:24;11871:60;:::i;:::-;11310:681;;11950:8;;-1:-1:-1;11845:86:229;;-1:-1:-1;;;;11310:681:229:o;11996:1113::-;12174:6;12182;12190;12198;12206;12214;12267:3;12255:9;12246:7;12242:23;12238:33;12235:53;;;12284:1;12281;12274:12;12235:53;12307:62;12361:7;12350:9;12307:62;:::i;:::-;12297:72;;12420:3;12409:9;12405:19;12392:33;12444:18;12485:2;12477:6;12474:14;12471:34;;;12501:1;12498;12491:12;12471:34;12540:58;12590:7;12581:6;12570:9;12566:22;12540:58;:::i;:::-;12617:8;;-1:-1:-1;12514:84:229;-1:-1:-1;12705:3:229;12690:19;;12677:33;;-1:-1:-1;12722:16:229;;;12719:36;;;12751:1;12748;12741:12;12719:36;12774:77;12843:7;12832:8;12821:9;12817:24;12774:77;:::i;:::-;12764:87;;12904:3;12893:9;12889:19;12876:33;12860:49;;12934:2;12924:8;12921:16;12918:36;;;12950:1;12947;12940:12;12918:36;;12989:60;13041:7;13030:8;13019:9;13015:24;12989:60;:::i;:::-;11996:1113;;;;-1:-1:-1;11996:1113:229;;-1:-1:-1;11996:1113:229;;13068:8;;11996:1113;-1:-1:-1;;;11996:1113:229:o;13363:801::-;13503:6;13511;13519;13527;13580:2;13568:9;13559:7;13555:23;13551:32;13548:52;;;13596:1;13593;13586:12;13548:52;13636:9;13623:23;13665:18;13706:2;13698:6;13695:14;13692:34;;;13722:1;13719;13712:12;13692:34;13761:92;13845:7;13836:6;13825:9;13821:22;13761:92;:::i;:::-;13872:8;;-1:-1:-1;13735:118:229;-1:-1:-1;13960:2:229;13945:18;;13932:32;;-1:-1:-1;13976:16:229;;;13973:36;;;14005:1;14002;13995:12;13973:36;;14044:60;14096:7;14085:8;14074:9;14070:24;14044:60;:::i;:::-;13363:801;;;;-1:-1:-1;14123:8:229;-1:-1:-1;;;;13363:801:229:o;14169:247::-;14228:6;14281:2;14269:9;14260:7;14256:23;14252:32;14249:52;;;14297:1;14294;14287:12;14249:52;14336:9;14323:23;14355:31;14380:5;14355:31;:::i;14421:753::-;14483:5;14531:4;14519:9;14514:3;14510:19;14506:30;14503:50;;;14549:1;14546;14539:12;14503:50;14582:2;14576:9;14624:4;14616:6;14612:17;14695:6;14683:10;14680:22;14659:18;14647:10;14644:34;14641:62;14638:88;;;14706:18;;:::i;:::-;14742:2;14735:22;14805:23;;14790:39;;14775:6;-1:-1:-1;14775:6:229;14881:2;14866:18;;14853:32;14894:33;14853:32;14894:33;:::i;:::-;14960:7;14955:2;14947:6;14943:15;14936:32;;15029:2;15018:9;15014:18;15001:32;14996:2;14988:6;14984:15;14977:57;15095:2;15084:9;15080:18;15067:32;15062:2;15054:6;15050:15;15043:57;15162:3;15151:9;15147:19;15134:33;15128:3;15120:6;15116:16;15109:59;;14421:753;;;;:::o;15179:118::-;15265:5;15258:13;15251:21;15244:5;15241:32;15231:60;;15287:1;15284;15277:12;15302:530;15344:5;15397:3;15390:4;15382:6;15378:17;15374:27;15364:55;;15415:1;15412;15405:12;15364:55;15451:6;15438:20;15477:18;15473:2;15470:26;15467:52;;;15499:18;;:::i;:::-;15543:55;15586:2;15567:13;;-1:-1:-1;;15563:27:229;15592:4;15559:38;15543:55;:::i;:::-;15623:2;15614:7;15607:19;15669:3;15662:4;15657:2;15649:6;15645:15;15641:26;15638:35;15635:55;;;15686:1;15683;15676:12;15635:55;15751:2;15744:4;15736:6;15732:17;15725:4;15716:7;15712:18;15699:55;15799:1;15774:16;;;15792:4;15770:27;15763:38;;;;15778:7;15302:530;-1:-1:-1;;;15302:530:229:o;15837:584::-;15954:6;15962;15970;16023:3;16011:9;16002:7;15998:23;15994:33;15991:53;;;16040:1;16037;16030:12;15991:53;16063;16108:7;16097:9;16063:53;:::i;:::-;16053:63;;16166:3;16155:9;16151:19;16138:33;16180:28;16202:5;16180:28;:::i;:::-;16227:5;-1:-1:-1;16283:3:229;16268:19;;16255:33;16311:18;16300:30;;16297:50;;;16343:1;16340;16333:12;16297:50;16366:49;16407:7;16398:6;16387:9;16383:22;16366:49;:::i;16426:382::-;16491:6;16499;16552:2;16540:9;16531:7;16527:23;16523:32;16520:52;;;16568:1;16565;16558:12;16520:52;16607:9;16594:23;16626:31;16651:5;16626:31;:::i;:::-;16676:5;-1:-1:-1;16733:2:229;16718:18;;16705:32;16746:30;16705:32;16746:30;:::i;16813:683::-;16924:6;16932;16940;16948;16956;17009:3;16997:9;16988:7;16984:23;16980:33;16977:53;;;17026:1;17023;17016:12;16977:53;17062:9;17049:23;17039:33;;17122:2;17111:9;17107:18;17094:32;17135:31;17160:5;17135:31;:::i;:::-;17185:5;-1:-1:-1;17242:2:229;17227:18;;17214:32;17255:33;17214:32;17255:33;:::i;:::-;17307:7;-1:-1:-1;17361:2:229;17346:18;;17333:32;;-1:-1:-1;17417:3:229;17402:19;;17389:33;17431;17389;17431;:::i;:::-;17483:7;17473:17;;;16813:683;;;;;;;;:::o;17779:552::-;17892:6;17900;17908;17961:3;17949:9;17940:7;17936:23;17932:33;17929:53;;;17978:1;17975;17968:12;17929:53;18001:62;18055:7;18044:9;18001:62;:::i;:::-;17991:72;;18114:3;18103:9;18099:19;18086:33;18142:18;18134:6;18131:30;18128:50;;;18174:1;18171;18164:12;18128:50;18213:58;18263:7;18254:6;18243:9;18239:22;18213:58;:::i;18336:665::-;18431:6;18439;18447;18455;18508:3;18496:9;18487:7;18483:23;18479:33;18476:53;;;18525:1;18522;18515:12;18476:53;18564:9;18551:23;18583:31;18608:5;18583:31;:::i;:::-;18633:5;-1:-1:-1;18690:2:229;18675:18;;18662:32;18703:33;18662:32;18703:33;:::i;:::-;18755:7;-1:-1:-1;18809:2:229;18794:18;;18781:32;;-1:-1:-1;18864:2:229;18849:18;;18836:32;18891:18;18880:30;;18877:50;;;18923:1;18920;18913:12;18877:50;18946:49;18987:7;18978:6;18967:9;18963:22;18946:49;:::i;:::-;18936:59;;;18336:665;;;;;;;:::o;19006:245::-;19099:6;19152:3;19140:9;19131:7;19127:23;19123:33;19120:53;;;19169:1;19166;19159:12;19120:53;19192;19237:7;19226:9;19192:53;:::i;19256:904::-;19489:2;19541:21;;;19611:13;;19514:18;;;19633:22;;;19460:4;;19489:2;19674;;19692:18;;;;19733:15;;;19460:4;19776:358;19790:6;19787:1;19784:13;19776:358;;;19849:13;;19891:9;;-1:-1:-1;;;;;19887:58:229;19875:71;;19986:11;;;19980:18;19966:12;;;19959:40;20039:11;;20033:18;20019:12;;;20012:40;20081:4;20072:14;;;;20109:15;;;;19812:1;19805:9;19776:358;;;-1:-1:-1;20151:3:229;;19256:904;-1:-1:-1;;;;;;;19256:904:229:o;20514:618::-;20575:5;20623:4;20611:9;20606:3;20602:19;20598:30;20595:50;;;20641:1;20638;20631:12;20595:50;20674:2;20668:9;20716:4;20708:6;20704:17;20787:6;20775:10;20772:22;20751:18;20739:10;20736:34;20733:62;20730:88;;;20798:18;;:::i;:::-;20834:2;20827:22;20867:6;-1:-1:-1;20867:6:229;20897:23;;20929:33;20897:23;20929:33;:::i;:::-;20986:7;20978:6;20971:23;;21055:2;21044:9;21040:18;21027:32;21022:2;21014:6;21010:15;21003:57;21121:2;21110:9;21106:18;21093:32;21088:2;21080:6;21076:15;21069:57;;20514:618;;;;:::o;21137:739::-;21205:5;21258:3;21251:4;21243:6;21239:17;21235:27;21225:55;;21276:1;21273;21266:12;21225:55;21312:6;21299:20;21338:4;21362:74;21378:57;21432:2;21378:57;:::i;21362:74::-;21470:15;;;21532:4;21575:11;;;21563:24;;21559:33;;;21501:12;;;;21458:3;21604:15;;;21601:35;;;21632:1;21629;21622:12;21601:35;21668:2;21660:6;21656:15;21680:167;21696:6;21691:3;21688:15;21680:167;;;21762:42;21800:3;21795;21762:42;:::i;:::-;21750:55;;21825:12;;;;21713;;21680:167;;;-1:-1:-1;21865:5:229;;21137:739;-1:-1:-1;;;;;;;21137:739:229:o;21881:598::-;22016:6;22024;22032;22085:2;22073:9;22064:7;22060:23;22056:32;22053:52;;;22101:1;22098;22091:12;22053:52;22137:9;22124:23;22114:33;;22197:2;22186:9;22182:18;22169:32;22210:31;22235:5;22210:31;:::i;:::-;22260:5;-1:-1:-1;22316:2:229;22301:18;;22288:32;22343:18;22332:30;;22329:50;;;22375:1;22372;22365:12;22329:50;22398:75;22465:7;22456:6;22445:9;22441:22;22398:75;:::i;22484:547::-;22579:6;22587;22595;22648:2;22636:9;22627:7;22623:23;22619:32;22616:52;;;22664:1;22661;22654:12;22616:52;22703:9;22690:23;22722:31;22747:5;22722:31;:::i;:::-;22772:5;-1:-1:-1;22829:2:229;22814:18;;22801:32;22842:33;22801:32;22842:33;:::i;:::-;22894:7;-1:-1:-1;22953:2:229;22938:18;;22925:32;22966:33;22925:32;22966:33;:::i;:::-;23018:7;23008:17;;;22484:547;;;;;:::o;24194:380::-;24273:1;24269:12;;;;24316;;;24337:61;;24391:4;24383:6;24379:17;24369:27;;24337:61;24444:2;24436:6;24433:14;24413:18;24410:38;24407:161;;24490:10;24485:3;24481:20;24478:1;24471:31;24525:4;24522:1;24515:15;24553:4;24550:1;24543:15;25411:127;25472:10;25467:3;25463:20;25460:1;25453:31;25503:4;25500:1;25493:15;25527:4;25524:1;25517:15;25543:334;25645:4;25703:11;25690:25;25797:3;25793:8;25782;25766:14;25762:29;25758:44;25738:18;25734:69;25724:97;;25817:1;25814;25807:12;25724:97;25838:33;;;;;25543:334;-1:-1:-1;;25543:334:229:o;25882:521::-;25959:4;25965:6;26025:11;26012:25;26119:2;26115:7;26104:8;26088:14;26084:29;26080:43;26060:18;26056:68;26046:96;;26138:1;26135;26128:12;26046:96;26165:33;;26217:20;;;-1:-1:-1;26260:18:229;26249:30;;26246:50;;;26292:1;26289;26282:12;26246:50;26325:4;26313:17;;-1:-1:-1;26356:14:229;26352:27;;;26342:38;;26339:58;;;26393:1;26390;26383:12;26408:127;26469:10;26464:3;26460:20;26457:1;26450:31;26500:4;26497:1;26490:15;26524:4;26521:1;26514:15;26540:135;26579:3;26600:17;;;26597:43;;26620:18;;:::i;:::-;-1:-1:-1;26667:1:229;26656:13;;26540:135::o;28230:496::-;28409:3;28447:6;28441:13;28463:66;28522:6;28517:3;28510:4;28502:6;28498:17;28463:66;:::i;:::-;28592:13;;28551:16;;;;28614:70;28592:13;28551:16;28661:4;28649:17;;28614:70;:::i;:::-;28700:20;;28230:496;-1:-1:-1;;;;28230:496:229:o;29091:983::-;29211:9;29270:4;29262:5;29246:14;29242:26;29238:37;29235:57;;;29288:1;29285;29278:12;29235:57;29316:22;;:::i;:::-;29363:25;29382:5;29363:25;:::i;:::-;29354:7;29347:42;29447:2;29440:5;29436:14;29423:28;29418:2;29409:7;29405:16;29398:54;29510:2;29503:5;29499:14;29486:28;29481:2;29472:7;29468:16;29461:54;29573:2;29566:5;29562:14;29549:28;29544:2;29535:7;29531:16;29524:54;29625:3;29618:5;29614:15;29601:29;29649:18;29690:2;29682:6;29679:14;29676:34;;;29706:1;29703;29696:12;29676:34;29745:78;29808:14;29799:6;29792:5;29788:18;29745:78;:::i;:::-;29739:3;29730:7;29726:17;29719:105;29873:3;29866:5;29862:15;29849:29;29833:45;;29903:2;29893:8;29890:16;29887:36;;;29919:1;29916;29909:12;29887:36;;29958:80;30023:14;30012:8;30005:5;30001:20;29958:80;:::i;:::-;29952:3;29939:17;;29932:107;-1:-1:-1;29943:7:229;29091:983;-1:-1:-1;;29091:983:229:o;30079:583::-;30207:4;30213:6;30273:11;30260:25;30367:2;30363:7;30352:8;30336:14;30332:29;30328:43;30308:18;30304:68;30294:96;;30386:1;30383;30376:12;30294:96;30413:33;;30465:20;;;-1:-1:-1;30508:18:229;30497:30;;30494:50;;;30540:1;30537;30530:12;30494:50;30573:4;30561:17;;-1:-1:-1;30632:4:229;30620:17;;30604:14;30600:38;30590:49;;30587:69;;;30652:1;30649;30642:12;30667:242;30759:6;30812:2;30800:9;30791:7;30787:23;30783:32;30780:52;;;30828:1;30825;30818:12;30780:52;30851;30895:7;30884:9;30851:52;:::i;30914:580::-;31042:4;31048:6;31108:11;31095:25;31202:2;31198:7;31187:8;31171:14;31167:29;31163:43;31143:18;31139:68;31129:96;;31221:1;31218;31211:12;31129:96;31248:33;;31300:20;;;-1:-1:-1;31343:18:229;31332:30;;31329:50;;;31375:1;31372;31365:12;31329:50;31408:4;31396:17;;-1:-1:-1;31459:1:229;31455:14;;;31439;31435:35;31425:46;;31422:66;;;31484:1;31481;31474:12;31499:243;31591:6;31644:3;31632:9;31623:7;31619:23;31615:33;31612:53;;;31661:1;31658;31651:12;31612:53;31684:52;31728:7;31717:9;31684:52;:::i;31747:168::-;31820:9;;;31851;;31868:15;;;31862:22;;31848:37;31838:71;;31889:18;;:::i;32999:200::-;33065:9;;;33038:4;33093:9;;33121:10;;33133:12;;;33117:29;33156:12;;;33148:21;;33114:56;33111:82;;;33173:18;;:::i;33204:216::-;33268:9;;;33296:11;;;33243:3;33326:9;;33354:10;;33350:19;;33379:10;;33371:19;;33347:44;33344:70;;;33394:18;;:::i;:::-;33344:70;;33204:216;;;;:::o;33815:1328::-;34145:4;34193:3;34182:9;34178:19;34224:6;34213:9;34206:25;34250:2;34288:6;34283:2;34272:9;34268:18;34261:34;34314:2;-1:-1:-1;;;;;34425:2:229;34417:6;34413:15;34408:2;34397:9;34393:18;34386:43;34448:2;34486:3;34481:2;34470:9;34466:18;34459:31;34510:6;34545;34539:13;34576:6;34568;34561:22;34614:3;34603:9;34599:19;34592:26;;34653:2;34645:6;34641:15;34627:29;;34674:1;34684:349;34698:6;34695:1;34692:13;34684:349;;;34757:13;;34799:9;;34795:18;;34783:31;;34858:11;;;34852:18;-1:-1:-1;;;;;34848:51:229;34834:12;;;34827:73;34940:11;;34934:18;34920:12;;;34913:40;35008:15;;;;34973:12;;;;34720:1;34713:9;34684:349;;;34688:3;;35079:9;35074:3;35070:19;35064:3;35053:9;35049:19;35042:48;35107:30;35133:3;35125:6;35107:30;:::i;:::-;35099:38;33815:1328;-1:-1:-1;;;;;;;;;;;;;33815:1328:229:o;36053:543::-;36271:13;;36214:3;;36245;;36324:4;36351:15;;;36214:3;36394:175;36408:6;36405:1;36402:13;36394:175;;;36471:13;;36457:28;;36507:14;;;;36544:15;;;;36430:1;36423:9;36394:175;;;-1:-1:-1;36585:5:229;;36053:543;-1:-1:-1;;;;;;36053:543:229:o;37262:127::-;37323:10;37318:3;37314:20;37311:1;37304:31;37354:4;37351:1;37344:15;37378:4;37375:1;37368:15;37394:289;37569:6;37558:9;37551:25;37612:2;37607;37596:9;37592:18;37585:30;37532:4;37632:45;37673:2;37662:9;37658:18;37650:6;37632:45;:::i;37688:287::-;37817:3;37855:6;37849:13;37871:66;37930:6;37925:3;37918:4;37910:6;37906:17;37871:66;:::i;37980:184::-;38050:6;38103:2;38091:9;38082:7;38078:23;38074:32;38071:52;;;38119:1;38116;38109:12;38071:52;-1:-1:-1;38142:16:229;;37980:184;-1:-1:-1;37980:184:229:o;38471:136::-;38506:3;-1:-1:-1;;;38527:22:229;;38524:48;;38552:18;;:::i;:::-;-1:-1:-1;38592:1:229;38588:13;;38471:136::o;39861:128::-;39928:9;;;39949:11;;;39946:37;;;39963:18;;:::i;39994:125::-;40059:9;;;40080:10;;;40077:36;;;40093:18;;:::i;41067:305::-;41142:6;41150;41203:2;41191:9;41182:7;41178:23;41174:32;41171:52;;;41219:1;41216;41209:12;41171:52;41248:9;41242:16;41232:26;;41301:2;41290:9;41286:18;41280:25;41314:28;41336:5;41314:28;:::i;41785:127::-;41846:10;41841:3;41837:20;41834:1;41827:31;41877:4;41874:1;41867:15;41901:4;41898:1;41891:15;41917:512;42111:4;-1:-1:-1;;;;;42221:2:229;42213:6;42209:15;42198:9;42191:34;42273:2;42265:6;42261:15;42256:2;42245:9;42241:18;42234:43;;42313:6;42308:2;42297:9;42293:18;42286:34;42356:3;42351:2;42340:9;42336:18;42329:31;42377:46;42418:3;42407:9;42403:19;42395:6;42377:46;:::i;42434:249::-;42503:6;42556:2;42544:9;42535:7;42531:23;42527:32;42524:52;;;42572:1;42569;42562:12;42524:52;42604:9;42598:16;42623:30;42647:5;42623:30;:::i", + "linkReferences": {}, + "immutableReferences": { + "34144": [ + { + "start": 9478, + "length": 32 + } + ], + "34146": [ + { + "start": 9436, + "length": 32 + } + ], + "34148": [ + { + "start": 9394, + "length": 32 + } + ], + "34150": [ + { + "start": 9561, + "length": 32 + } + ], + "34152": [ + { + "start": 9598, + "length": 32 + } + ], + "34154": [ + { + "start": 9519, + "length": 32 + } + ] + } + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "assetAdjustment((uint256,address,uint256,int256,bytes32),bool,bytes)": "8c9a76d7", + "balanceAndOrder(uint256,address,uint256)": "a513cab8", + "balanceOf(address)": "70a08231", + "createAccount(address,address)": "133572ba", + "createAccountWithApproval(address,address,address)": "e6e4f5af", + "domainSeparator()": "f698da25", + "getAccountBalances(uint256)": "c7569701", + "getApproved(uint256)": "081812fc", + "getBalance(uint256,address,uint256)": "0806e640", + "getUniqueAssets(uint256)": "21a8c3af", + "heldAssets(uint256,uint256)": "cdfa628a", + "invalidateUnorderedNonces(uint256,uint256)": "3ff9dcb1", + "isApprovedForAll(address,address)": "e985e9c5", + "lastAccountId()": "708c3593", + "lastAccountTradeId(uint256)": "d4d2a69f", + "lastTradeId()": "52bcfd5b", + "manager(uint256)": "52981457", + "managerAdjustment((uint256,address,uint256,int256,bytes32))": "b99b4533", + "name()": "06fdde03", + "negativeAssetAllowance(uint256,address,address,address)": "5d13e0eb", + "negativeSubIdAllowance(uint256,address,address,uint256,address)": "e707e1d0", + "nonceBitmap(address,uint256)": "4fe02b44", + "ownerOf(uint256)": "6352211e", + "permit((address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)": "49a21b37", + "permitAndSubmitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)": "4fc566ee", + "permitAndSubmitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[])[],bytes[])": "0b178300", + "positiveAssetAllowance(uint256,address,address,address)": "4997e514", + "positiveSubIdAllowance(uint256,address,address,uint256,address)": "a3b9b6d7", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "setAssetAllowances(uint256,address,(address,uint256,uint256)[])": "daf1a906", + "setSubIdAllowances(uint256,address,(address,uint256,uint256,uint256)[])": "02176d39", + "submitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes)": "ad1f3ff8", + "submitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes)": "58e106d5", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"AC_CannotChangeToSameManager\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"AC_CannotTransferAssetToOneself\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_InvalidPermitSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IManager\",\"name\":\"manager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"}],\"name\":\"AC_NotOwnerOrERC721Approved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_OnlyAsset\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_OnlyManager\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AC_TooManyTransfers\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DL_DeltasTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"subIdAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetAllowance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughSubIdOrAssetAllowances\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AccountBurned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AccountCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"AccountManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fromAcc\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"toAcc\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"name\":\"AssetTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"assetAndSubId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"preBalance\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"postBalance\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"name\":\"BalanceAdjusted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wordPos\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"UnorderedNonceInvalidated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetAdjustment\",\"name\":\"adjustment\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"triggerAssetHook\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"managerData\",\"type\":\"bytes\"}],\"name\":\"assetAdjustment\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"postAdjustmentBalance\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"}],\"name\":\"balanceAndOrder\",\"outputs\":[{\"internalType\":\"int240\",\"name\":\"balance\",\"type\":\"int240\"},{\"internalType\":\"uint16\",\"name\":\"order\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IManager\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"createAccount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"newId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"contract IManager\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"createAccountWithApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"newId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"getAccountBalances\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"balance\",\"type\":\"int256\"}],\"internalType\":\"struct ISubAccounts.AssetBalance[]\",\"name\":\"assetBalances\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"balance\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"getUniqueAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"uniqueAssets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"heldAssets\",\"outputs\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"subId\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wordPos\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mask\",\"type\":\"uint256\"}],\"name\":\"invalidateUnorderedNonces\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAccountId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"lastAccountTradeId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastTradeId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"}],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"contract IManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetAdjustment\",\"name\":\"adjustment\",\"type\":\"tuple\"}],\"name\":\"managerAdjustment\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"postAdjustmentBalance\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"negativeAssetAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"negativeSubIdAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wordPosition\",\"type\":\"uint256\"}],\"name\":\"nonceBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.AssetAllowance[]\",\"name\":\"assetAllowances\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.SubIdAllowance[]\",\"name\":\"subIdAllowances\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IAllowances.PermitAllowance\",\"name\":\"allowancePermit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"fromAcc\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAcc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetTransfer\",\"name\":\"assetTransfer\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"managerData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.AssetAllowance[]\",\"name\":\"assetAllowances\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.SubIdAllowance[]\",\"name\":\"subIdAllowances\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IAllowances.PermitAllowance\",\"name\":\"allowancePermit\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"permitAndSubmitTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"fromAcc\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAcc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetTransfer[]\",\"name\":\"assetTransfers\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"managerData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.AssetAllowance[]\",\"name\":\"assetAllowances\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.SubIdAllowance[]\",\"name\":\"subIdAllowances\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IAllowances.PermitAllowance[]\",\"name\":\"allowancePermits\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"permitAndSubmitTransfers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"positiveAssetAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"positiveSubIdAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.AssetAllowance[]\",\"name\":\"allowances\",\"type\":\"tuple[]\"}],\"name\":\"setAssetAllowances\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"positive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"negative\",\"type\":\"uint256\"}],\"internalType\":\"struct IAllowances.SubIdAllowance[]\",\"name\":\"allowances\",\"type\":\"tuple[]\"}],\"name\":\"setSubIdAllowances\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"fromAcc\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAcc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetTransfer\",\"name\":\"assetTransfer\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"managerData\",\"type\":\"bytes\"}],\"name\":\"submitTransfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"fromAcc\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAcc\",\"type\":\"uint256\"},{\"internalType\":\"contract IAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"amount\",\"type\":\"int256\"},{\"internalType\":\"bytes32\",\"name\":\"assetData\",\"type\":\"bytes32\"}],\"internalType\":\"struct ISubAccounts.AssetTransfer[]\",\"name\":\"assetTransfers\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"managerData\",\"type\":\"bytes\"}],\"name\":\"submitTransfers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tradeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Lyra\",\"errors\":{\"AC_InvalidNonce()\":[{\"details\":\"nonce already used.\"}],\"DL_DeltasTooLong()\":[{\"details\":\"too many deltas\"}]},\"events\":{\"AccountBurned(address,uint256,address)\":{\"details\":\"Emitted account burned\"},\"AccountCreated(address,uint256,address)\":{\"details\":\"Emitted account created or split\"},\"AccountManagerChanged(uint256,address,address)\":{\"details\":\"Emitted when account manager changed\"},\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BalanceAdjusted(uint256,address,bytes32,int256,int256,int256,uint256)\":{\"details\":\"Emitted during any balance change event. This includes: 1. single transfer 2. batch transfer 3. transferAll / merge / split 4. manager or asset initiated adjustments PreBalance + amount not necessarily = postBalance\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"},\"UnorderedNonceInvalidated(address,uint256,uint256)\":{\"details\":\"Emitted when user invalidate set of nonces\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"assetAdjustment((uint256,address,uint256,int256,bytes32),bool,bytes)\":{\"params\":{\"adjustment\":\"asymmetric adjustment of amount for (asset, subId)\",\"managerData\":\"data passed to manager of account\",\"triggerAssetHook\":\"true if the adjustment need to be routed to Asset's custom hook\"}},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"createAccount(address,address)\":{\"params\":{\"_manager\":\"IManager of new account\",\"owner\":\"new account owner\"},\"returns\":{\"newId\":\"ID of new account\"}},\"createAccountWithApproval(address,address,address)\":{\"details\":\"@note: can be used to create and account for another user and simultaneously give allowance to oneself\",\"params\":{\"_manager\":\"IManager of new account\",\"owner\":\"new account owner\",\"spender\":\"give address ERC721 approval\"},\"returns\":{\"newId\":\"ID of new account\"}},\"domainSeparator()\":{\"details\":\"get domain separator for signing\"},\"getAccountBalances(uint256)\":{\"details\":\"can use balanceAndOrder() to get the index of a specific balance\",\"params\":{\"accountId\":\"ID of account\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getBalance(uint256,address,uint256)\":{\"params\":{\"accountId\":\"ID of account\",\"asset\":\"IAsset of balance\",\"subId\":\"subId of balance\"}},\"getUniqueAssets(uint256)\":{\"details\":\"get unique assets from heldAssets. heldAssets can hold multiple entries with same asset but different subId\",\"returns\":{\"uniqueAssets\":\"list of address\"}},\"invalidateUnorderedNonces(uint256,uint256)\":{\"details\":\"Copied from Uniswap's Permit2 nonce system https://github.com/Uniswap/permit2/blob/ca6b6ff2b47afc2942f3c67b0d929ca4f0b32631/src/SignatureTransfer.sol#L130The wordPos is maxed at type(uint248).max\",\"params\":{\"mask\":\"A bitmap masked against msg.sender's current bitmap at the word position\",\"wordPos\":\"A number to index the nonceBitmap at\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"managerAdjustment((uint256,address,uint256,int256,bytes32))\":{\"params\":{\"adjustment\":\"assymetric adjustment of amount for (asset, subId)\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"permit((address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)\":{\"details\":\"adjust allowance by owner signature\",\"params\":{\"allowancePermit\":\"struct specifying accountId, delegator and allowance detail\",\"signature\":\"ECDSA signature or EIP 1271 contract signature\"}},\"permitAndSubmitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)\":{\"params\":{\"allowancePermit\":\"Detailed struct for permit (accountId, delegator allowance detail)\",\"assetTransfer\":\"Detailed struct on transfer (fromAcc, toAcc, asset, subId, amount)\",\"managerData\":\"Data passed to managers of both accounts\",\"signature\":\"ECDSA signature or EIP 1271 contract signature\"}},\"permitAndSubmitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[])[],bytes[])\":{\"params\":{\"allowancePermits\":\"Array of permit struct (accountId, delegator allowance detail)\",\"assetTransfers\":\"Array of transfers to perform\",\"managerData\":\"Data passed to managers of both accounts\",\"signatures\":\"Array of permit signatures\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setAssetAllowances(uint256,address,(address,uint256,uint256)[])\":{\"params\":{\"accountId\":\"ID of account\",\"allowances\":\"positive and negative amounts for each asset\",\"delegate\":\"address to assign allowance to\"}},\"setSubIdAllowances(uint256,address,(address,uint256,uint256,uint256)[])\":{\"params\":{\"accountId\":\"ID of account\",\"allowances\":\"positive and negative amounts for each (asset, subId)\",\"delegate\":\"address to assign allowance to\"}},\"submitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes)\":{\"params\":{\"assetTransfer\":\"(fromAcc, toAcc, asset, subId, amount)\",\"managerData\":\"data passed to managers of both accounts\"}},\"submitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes)\":{\"params\":{\"assetTransfers\":\"array of (fromAcc, toAcc, asset, subId, amount)\",\"managerData\":\"data passed to every manager involved in trade\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"stateVariables\":{\"balanceAndOrder\":{\"details\":\"accountId => asset => subId => BalanceAndOrder struct\"},\"heldAssets\":{\"details\":\"accountId to non-zero assets array\"},\"lastAccountId\":{\"details\":\"last account id (ERC721 id) created\"},\"lastAccountTradeId\":{\"details\":\"the trade id of the last trade that was executed for an account\"},\"lastTradeId\":{\"details\":\"last trade id that was attached with manager hook and asset hook\"},\"manager\":{\"details\":\"accountId to manager\"},\"nonceBitmap\":{\"details\":\"user nonce for permit. User => wordPosition => nonce bit map\"}},\"title\":\"SubAccounts\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetAdjustment((uint256,address,uint256,int256,bytes32),bool,bytes)\":{\"notice\":\"Asymmetric balance adjustment reserved for assets Must still pass both _managerHook()\"},\"createAccount(address,address)\":{\"notice\":\"Creates account with new accountId\"},\"createAccountWithApproval(address,address,address)\":{\"notice\":\"Creates account and gives spender full allowance\"},\"getAccountBalances(uint256)\":{\"notice\":\"Gets a list of all asset balances of an account\"},\"getBalance(uint256,address,uint256)\":{\"notice\":\"Gets an account's balance for an (asset, subId)\"},\"invalidateUnorderedNonces(uint256,uint256)\":{\"notice\":\"Invalidates the bits specified in mask for the bitmap at the word position\"},\"managerAdjustment((uint256,address,uint256,int256,bytes32))\":{\"notice\":\"Assymetric balance adjustment reserved for managers Must still pass both _assetHook()\"},\"permitAndSubmitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)\":{\"notice\":\"Permit and transfer in a single transaction\"},\"permitAndSubmitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[])[],bytes[])\":{\"notice\":\"Batch multiple permits and transfers\"},\"setAssetAllowances(uint256,address,(address,uint256,uint256)[])\":{\"notice\":\"Sets bidirectional allowances for all subIds of an asset. During a balance adjustment, if msg.sender not ERC721 approved or owner, asset allowance + subId allowance must be >= amount\"},\"setSubIdAllowances(uint256,address,(address,uint256,uint256,uint256)[])\":{\"notice\":\"Sets bidirectional allowances for a specific subId. During a balance adjustment, the subId allowance is decremented first\"},\"submitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes)\":{\"notice\":\"Transfer an amount from one account to another for a specific (asset, subId)\"},\"submitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes)\":{\"notice\":\"Batch several transfers Gas efficient when modifying the same account several times, as _managerHook() is only performed once per account\"}},\"notice\":\"Base layer that manages: 1. balances for each (subAccounts, asset, subId) 2. routing of manager, asset, allowance hooks / checks during any balance adjustment event 3. account creation / manager assignment\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SubAccounts.sol\":\"SubAccounts\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":800},\"remappings\":[\":chainlink/=lib/chainlink/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":lyra-utils/=lib/lyra-utils/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":sfp-pilot/=lib/sfp-pilot/contracts/\",\":src/decimals/=lib/lyra-utils/src/decimals/\"]},\"sources\":{\"lib/lyra-utils/src/arrays/UnorderedMemoryArray.sol\":{\"keccak256\":\"0x14109b6ee6105175a006bd96c8d2d12fcceeac2006ccf268167b0a579ce5ad2a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://ecba4512340cb0a369adf86d48424d3538512a14b4861cb374dc2cada5350d96\",\"dweb:/ipfs/QmbrW2N87eSA8yyNz9i8Q5XjsqaAnfCVdeX6EAuANhF73K\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e\",\"dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x03a26b0ce85afee2c16f3232bd123286b849ca576778781cf6e8bbf51cb7570a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13a4f5cec214760f14abaedfc0a1860d80c2267386fa62dc77e8eee51ec84d71\",\"dweb:/ipfs/QmWmEKeofHqLnNEeCivhzTepo1k5xZZqzMxyyyzNBYiYBW\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x5b58c0def48629fb952407199c42b974af2c49cf554a5027312df3fbf05eec28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8975ab7fbe6959fe74eadf37be878879b87027541edcc97a88bfe44daf124410\",\"dweb:/ipfs/QmcSMJaQyBKCkVMJU1tzh3pwgzLx1oKtUBr2BJq3hHy1Zn\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a\",\"dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x2e53602b96c1bf97c731ed3e2a981b4f85e23a9410a5ebd36e549a4cc93340dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://523f47b3ecc6d4e47b4b998d3356199988eef8a42a10dff5a3660d5f9e76cc71\",\"dweb:/ipfs/QmRLH8CNvDsuLzNCjsbpLM3RHD9he5ESXroYoDT3tpaTCA\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf\",\"dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x54ee424bfc83ce63b2a918b9a1efb5090a0fb68dbd1de3b10bc667776885dd4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c8245bd91b51a6e411db1a68397e6d89ea76d28fd3fff2b5986ebd860c43aca\",\"dweb:/ipfs/QmUBfM8dUuxABn9ctfZWqierQbbux6NuhvSmQuSdrSEdch\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x9c33a3c8766f83b5cb436757cc66cb55c15f9732485a79b290b7f3ad473cc879\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13d2d01cba0309288dde95066a5293e7688dd628d3d91ab60f83e3e536c7145a\",\"dweb:/ipfs/QmYQajquUVjsM9m4hXWicomSWBmbNUvGDMsQLSC6SGgFBM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x3546b156d97633f7f8cad536d5454c81d1d604687c02b2eb105fdc33cb962b41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc373869014f80e7ad928ae44bb7678a2d7aacf213fb0ce36bcbbb3166845903\",\"dweb:/ipfs/QmUaRPa2Nm2WfKeCq8yRCR94JZFCnfr4xw9LJADWxhTcwt\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/Allowances.sol\":{\"keccak256\":\"0xc4d8a645328ffec856c2ea3b96e1719f3265db4f840092b85da8ff26931e8fe1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://63367b1a31a7cc4306fce17a2496b98c7dfe9cf0b9ed9799df2372d91e3cfa27\",\"dweb:/ipfs/QmTGeSy6GeNMXQ5wd2jfAhcpg7TsteFpum7iAyBEMDUiq3\"]},\"src/SubAccounts.sol\":{\"keccak256\":\"0x5ad7cae0583b2b42f845ef6357e9bcd7974b4c4335736c3b337903899f6eaf10\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://37eb980b96355a087bbc2af0d8cb155fab6951b24d5ffe550e19be591bab3b04\",\"dweb:/ipfs/QmPuGPpzch8RnscSnZC1V62tFCajjeU3WhwdVViAEQiDTG\"]},\"src/interfaces/IAllowances.sol\":{\"keccak256\":\"0x53acb29f236a4b2d6c9ebcbd4d2f8a65eeb0049b35b33a950467699987141dfb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://59743a7e65b252241e5bbb158ab69ba55eb2118d84b5020510b486483cd1578b\",\"dweb:/ipfs/QmTMKUpN8sW1oXb5gjEXXY7d8FRAaJotf6MtDW1rG49vSo\"]},\"src/interfaces/IAsset.sol\":{\"keccak256\":\"0xe2d55d7aaddcb04cc002b32f464d57d001800d9bd959cd1a5c60f78bd78e6bcb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7af70cb014b81f4272e862f87c9ca027ba8aed9d72d5c1a9ca28b7f05edf8389\",\"dweb:/ipfs/QmZfdNtWQrXLu3avyJiWEVBfEvj5EwbwwtZtczLm7PcRei\"]},\"src/interfaces/IManager.sol\":{\"keccak256\":\"0x3cea09b9ade8f5882374407dfb3a9b668c0c2b0a85c165cabdbafdbea891b3df\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2f9af85d7fd8bb32c9344f21b0dd3cfb9485f6c3f9ca866c8adb0638acc7e3b9\",\"dweb:/ipfs/QmbL1te91vqCbYLxxvpxFGhqCXUzQwiKZuZjY5XNkQqt4s\"]},\"src/interfaces/ISubAccounts.sol\":{\"keccak256\":\"0xecdbfdf0bf85279ee7839968c3198c6a7c5632378d197271300617a01dfb02f7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://64e23c1447aa8de056c7d5bc8d79c1357f039e443abe6d6698c6f0a1f3482697\",\"dweb:/ipfs/QmQzgG2EX6gZgzTArDkxMFRkph3bWH7VjnqEebkmhbCjLK\"]},\"src/libraries/AssetDeltaLib.sol\":{\"keccak256\":\"0x61bb1d92fca3a20ff16f8793f98c5bbed34112b5c51de13c50a0ca063c64b618\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://77bb44963faf72508923ac711e9c4767a35204bb66e382618943103920bce676\",\"dweb:/ipfs/QmZevtYZSu8iW9GGPU4tk87Kewz9772r7HNqvgPq5XwwUE\"]},\"src/libraries/PermitAllowanceLib.sol\":{\"keccak256\":\"0x5449610b582733581516aaad886e6ee3d03d3090900ccbca7599e930cf12f6f4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://29074071ee18619759f2e00c8c9949e5f9977a869a8a396b32a734857ed15dc7\",\"dweb:/ipfs/QmX4a5WYojSva6NW5sZwBCiEErtPX2baeCiRfggJcgk27B\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.20+commit.a1b79de6" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "type": "error", + "name": "AC_CannotChangeToSameManager" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "type": "error", + "name": "AC_CannotTransferAssetToOneself" + }, + { + "inputs": [], + "type": "error", + "name": "AC_InvalidNonce" + }, + { + "inputs": [], + "type": "error", + "name": "AC_InvalidPermitSignature" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "manager", + "type": "address" + }, + { + "internalType": "address", + "name": "approved", + "type": "address" + } + ], + "type": "error", + "name": "AC_NotOwnerOrERC721Approved" + }, + { + "inputs": [], + "type": "error", + "name": "AC_OnlyAsset" + }, + { + "inputs": [], + "type": "error", + "name": "AC_OnlyManager" + }, + { + "inputs": [], + "type": "error", + "name": "AC_SignatureExpired" + }, + { + "inputs": [], + "type": "error", + "name": "AC_TooManyTransfers" + }, + { + "inputs": [], + "type": "error", + "name": "DL_DeltasTooLong" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "subIdAllowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assetAllowance", + "type": "uint256" + } + ], + "type": "error", + "name": "NotEnoughSubIdOrAssetAllowances" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "address", + "name": "manager", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "AccountBurned", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "address", + "name": "manager", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "AccountCreated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "address", + "name": "oldManager", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "newManager", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "AccountManagerChanged", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256", + "indexed": true + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256", + "indexed": false + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32", + "indexed": false + }, + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "AssetTransferred", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256", + "indexed": true + }, + { + "internalType": "address", + "name": "manager", + "type": "address", + "indexed": true + }, + { + "internalType": "bytes32", + "name": "assetAndSubId", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256", + "indexed": false + }, + { + "internalType": "int256", + "name": "preBalance", + "type": "int256", + "indexed": false + }, + { + "internalType": "int256", + "name": "postBalance", + "type": "int256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "BalanceAdjusted", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "wordPos", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "mask", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "UnorderedNonceInvalidated", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetAdjustment", + "name": "adjustment", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + }, + { + "internalType": "bool", + "name": "triggerAssetHook", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "assetAdjustment", + "outputs": [ + { + "internalType": "int256", + "name": "postAdjustmentBalance", + "type": "int256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceAndOrder", + "outputs": [ + { + "internalType": "int240", + "name": "balance", + "type": "int240" + }, + { + "internalType": "uint16", + "name": "order", + "type": "uint16" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "_manager", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "createAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "newId", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "contract IManager", + "name": "_manager", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "createAccountWithApproval", + "outputs": [ + { + "internalType": "uint256", + "name": "newId", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "domainSeparator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getAccountBalances", + "outputs": [ + { + "internalType": "struct ISubAccounts.AssetBalance[]", + "name": "assetBalances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "balance", + "type": "int256" + } + ] + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getBalance", + "outputs": [ + { + "internalType": "int256", + "name": "balance", + "type": "int256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getUniqueAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "uniqueAssets", + "type": "address[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "heldAssets", + "outputs": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint96", + "name": "subId", + "type": "uint96" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "wordPos", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "mask", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "invalidateUnorderedNonces" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lastAccountId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "lastAccountTradeId", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lastTradeId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "manager", + "outputs": [ + { + "internalType": "contract IManager", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetAdjustment", + "name": "adjustment", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "managerAdjustment", + "outputs": [ + { + "internalType": "int256", + "name": "postAdjustmentBalance", + "type": "int256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "negativeAssetAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "negativeSubIdAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wordPosition", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "nonceBitmap", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct IAllowances.PermitAllowance", + "name": "allowancePermit", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "permit" + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetTransfer", + "name": "assetTransfer", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + }, + { + "internalType": "struct IAllowances.PermitAllowance", + "name": "allowancePermit", + "type": "tuple", + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "permitAndSubmitTransfer", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetTransfer[]", + "name": "assetTransfers", + "type": "tuple[]", + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + }, + { + "internalType": "struct IAllowances.PermitAllowance[]", + "name": "allowancePermits", + "type": "tuple[]", + "components": [ + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "assetAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + }, + { + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "subIdAllowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + } + ] + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "permitAndSubmitTransfers", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "positiveAssetAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "positiveSubIdAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "struct IAllowances.AssetAllowance[]", + "name": "allowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAssetAllowances" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "accountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "struct IAllowances.SubIdAllowance[]", + "name": "allowances", + "type": "tuple[]", + "components": [ + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "positive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "negative", + "type": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setSubIdAllowances" + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetTransfer", + "name": "assetTransfer", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "submitTransfer", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "struct ISubAccounts.AssetTransfer[]", + "name": "assetTransfers", + "type": "tuple[]", + "components": [ + { + "internalType": "uint256", + "name": "fromAcc", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "toAcc", + "type": "uint256" + }, + { + "internalType": "contract IAsset", + "name": "asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subId", + "type": "uint256" + }, + { + "internalType": "int256", + "name": "amount", + "type": "int256" + }, + { + "internalType": "bytes32", + "name": "assetData", + "type": "bytes32" + } + ] + }, + { + "internalType": "bytes", + "name": "managerData", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "submitTransfers", + "outputs": [ + { + "internalType": "uint256", + "name": "tradeId", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "assetAdjustment((uint256,address,uint256,int256,bytes32),bool,bytes)": { + "params": { + "adjustment": "asymmetric adjustment of amount for (asset, subId)", + "managerData": "data passed to manager of account", + "triggerAssetHook": "true if the adjustment need to be routed to Asset's custom hook" + } + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "createAccount(address,address)": { + "params": { + "_manager": "IManager of new account", + "owner": "new account owner" + }, + "returns": { + "newId": "ID of new account" + } + }, + "createAccountWithApproval(address,address,address)": { + "details": "@note: can be used to create and account for another user and simultaneously give allowance to oneself", + "params": { + "_manager": "IManager of new account", + "owner": "new account owner", + "spender": "give address ERC721 approval" + }, + "returns": { + "newId": "ID of new account" + } + }, + "domainSeparator()": { + "details": "get domain separator for signing" + }, + "getAccountBalances(uint256)": { + "details": "can use balanceAndOrder() to get the index of a specific balance", + "params": { + "accountId": "ID of account" + } + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getBalance(uint256,address,uint256)": { + "params": { + "accountId": "ID of account", + "asset": "IAsset of balance", + "subId": "subId of balance" + } + }, + "getUniqueAssets(uint256)": { + "details": "get unique assets from heldAssets. heldAssets can hold multiple entries with same asset but different subId", + "returns": { + "uniqueAssets": "list of address" + } + }, + "invalidateUnorderedNonces(uint256,uint256)": { + "details": "Copied from Uniswap's Permit2 nonce system https://github.com/Uniswap/permit2/blob/ca6b6ff2b47afc2942f3c67b0d929ca4f0b32631/src/SignatureTransfer.sol#L130The wordPos is maxed at type(uint248).max", + "params": { + "mask": "A bitmap masked against msg.sender's current bitmap at the word position", + "wordPos": "A number to index the nonceBitmap at" + } + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "managerAdjustment((uint256,address,uint256,int256,bytes32))": { + "params": { + "adjustment": "assymetric adjustment of amount for (asset, subId)" + } + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "permit((address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)": { + "details": "adjust allowance by owner signature", + "params": { + "allowancePermit": "struct specifying accountId, delegator and allowance detail", + "signature": "ECDSA signature or EIP 1271 contract signature" + } + }, + "permitAndSubmitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)": { + "params": { + "allowancePermit": "Detailed struct for permit (accountId, delegator allowance detail)", + "assetTransfer": "Detailed struct on transfer (fromAcc, toAcc, asset, subId, amount)", + "managerData": "Data passed to managers of both accounts", + "signature": "ECDSA signature or EIP 1271 contract signature" + } + }, + "permitAndSubmitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[])[],bytes[])": { + "params": { + "allowancePermits": "Array of permit struct (accountId, delegator allowance detail)", + "assetTransfers": "Array of transfers to perform", + "managerData": "Data passed to managers of both accounts", + "signatures": "Array of permit signatures" + } + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "setAssetAllowances(uint256,address,(address,uint256,uint256)[])": { + "params": { + "accountId": "ID of account", + "allowances": "positive and negative amounts for each asset", + "delegate": "address to assign allowance to" + } + }, + "setSubIdAllowances(uint256,address,(address,uint256,uint256,uint256)[])": { + "params": { + "accountId": "ID of account", + "allowances": "positive and negative amounts for each (asset, subId)", + "delegate": "address to assign allowance to" + } + }, + "submitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes)": { + "params": { + "assetTransfer": "(fromAcc, toAcc, asset, subId, amount)", + "managerData": "data passed to managers of both accounts" + } + }, + "submitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes)": { + "params": { + "assetTransfers": "array of (fromAcc, toAcc, asset, subId, amount)", + "managerData": "data passed to every manager involved in trade" + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "assetAdjustment((uint256,address,uint256,int256,bytes32),bool,bytes)": { + "notice": "Asymmetric balance adjustment reserved for assets Must still pass both _managerHook()" + }, + "createAccount(address,address)": { + "notice": "Creates account with new accountId" + }, + "createAccountWithApproval(address,address,address)": { + "notice": "Creates account and gives spender full allowance" + }, + "getAccountBalances(uint256)": { + "notice": "Gets a list of all asset balances of an account" + }, + "getBalance(uint256,address,uint256)": { + "notice": "Gets an account's balance for an (asset, subId)" + }, + "invalidateUnorderedNonces(uint256,uint256)": { + "notice": "Invalidates the bits specified in mask for the bitmap at the word position" + }, + "managerAdjustment((uint256,address,uint256,int256,bytes32))": { + "notice": "Assymetric balance adjustment reserved for managers Must still pass both _assetHook()" + }, + "permitAndSubmitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[]),bytes)": { + "notice": "Permit and transfer in a single transaction" + }, + "permitAndSubmitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes,(address,uint256,uint256,uint256,(address,uint256,uint256)[],(address,uint256,uint256,uint256)[])[],bytes[])": { + "notice": "Batch multiple permits and transfers" + }, + "setAssetAllowances(uint256,address,(address,uint256,uint256)[])": { + "notice": "Sets bidirectional allowances for all subIds of an asset. During a balance adjustment, if msg.sender not ERC721 approved or owner, asset allowance + subId allowance must be >= amount" + }, + "setSubIdAllowances(uint256,address,(address,uint256,uint256,uint256)[])": { + "notice": "Sets bidirectional allowances for a specific subId. During a balance adjustment, the subId allowance is decremented first" + }, + "submitTransfer((uint256,uint256,address,uint256,int256,bytes32),bytes)": { + "notice": "Transfer an amount from one account to another for a specific (asset, subId)" + }, + "submitTransfers((uint256,uint256,address,uint256,int256,bytes32)[],bytes)": { + "notice": "Batch several transfers Gas efficient when modifying the same account several times, as _managerHook() is only performed once per account" + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "chainlink/=lib/chainlink/", + "ds-test/=lib/forge-std/lib/ds-test/src/", + "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", + "forge-std/=lib/forge-std/src/", + "lyra-utils/=lib/lyra-utils/src/", + "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", + "openzeppelin-contracts/=lib/openzeppelin-contracts/", + "openzeppelin-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "openzeppelin/=lib/openzeppelin-contracts/contracts/", + "sfp-pilot/=lib/sfp-pilot/contracts/", + "src/decimals/=lib/lyra-utils/src/decimals/" + ], + "optimizer": { + "enabled": true, + "runs": 800 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/SubAccounts.sol": "SubAccounts" + }, + "libraries": {} + }, + "sources": { + "lib/lyra-utils/src/arrays/UnorderedMemoryArray.sol": { + "keccak256": "0x14109b6ee6105175a006bd96c8d2d12fcceeac2006ccf268167b0a579ce5ad2a", + "urls": [ + "bzz-raw://ecba4512340cb0a369adf86d48424d3538512a14b4861cb374dc2cada5350d96", + "dweb:/ipfs/QmbrW2N87eSA8yyNz9i8Q5XjsqaAnfCVdeX6EAuANhF73K" + ], + "license": "GPL-3.0-only" + }, + "lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol": { + "keccak256": "0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544", + "urls": [ + "bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e", + "dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { + "keccak256": "0x03a26b0ce85afee2c16f3232bd123286b849ca576778781cf6e8bbf51cb7570a", + "urls": [ + "bzz-raw://13a4f5cec214760f14abaedfc0a1860d80c2267386fa62dc77e8eee51ec84d71", + "dweb:/ipfs/QmWmEKeofHqLnNEeCivhzTepo1k5xZZqzMxyyyzNBYiYBW" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0x5b58c0def48629fb952407199c42b974af2c49cf554a5027312df3fbf05eec28", + "urls": [ + "bzz-raw://8975ab7fbe6959fe74eadf37be878879b87027541edcc97a88bfe44daf124410", + "dweb:/ipfs/QmcSMJaQyBKCkVMJU1tzh3pwgzLx1oKtUBr2BJq3hHy1Zn" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x41bbb2c41036ca64b2f6c9e973e8cfaa113ebc42af86702cd0d267f915a7e886", + "urls": [ + "bzz-raw://6bf6699c55e82c7af6ae90b61ea9643ca0c905097da9a31269319f1b5a2a696a", + "dweb:/ipfs/QmRJZa2UmWcRo6W8JnuomwzfjVtAS21QC8HKggxBhoPsU4" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x2e53602b96c1bf97c731ed3e2a981b4f85e23a9410a5ebd36e549a4cc93340dc", + "urls": [ + "bzz-raw://523f47b3ecc6d4e47b4b998d3356199988eef8a42a10dff5a3660d5f9e76cc71", + "dweb:/ipfs/QmRLH8CNvDsuLzNCjsbpLM3RHD9he5ESXroYoDT3tpaTCA" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0x2626d8ab3dfdad0fad630c212ad146d59473d0f48b771784c61a7c1dbbea1f3f", + "urls": [ + "bzz-raw://d7c144532f1e7c76ac95fb6a8f617c1f740d7a73442a907eb60910e99dfa1fbf", + "dweb:/ipfs/QmZsGyooD6emxB8JCuugRjnRYS2MPZEL586uuV7dgC8Jng" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0x54ee424bfc83ce63b2a918b9a1efb5090a0fb68dbd1de3b10bc667776885dd4f", + "urls": [ + "bzz-raw://9c8245bd91b51a6e411db1a68397e6d89ea76d28fd3fff2b5986ebd860c43aca", + "dweb:/ipfs/QmUBfM8dUuxABn9ctfZWqierQbbux6NuhvSmQuSdrSEdch" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol": { + "keccak256": "0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a", + "urls": [ + "bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f", + "dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol": { + "keccak256": "0x9c33a3c8766f83b5cb436757cc66cb55c15f9732485a79b290b7f3ad473cc879", + "urls": [ + "bzz-raw://13d2d01cba0309288dde95066a5293e7688dd628d3d91ab60f83e3e536c7145a", + "dweb:/ipfs/QmYQajquUVjsM9m4hXWicomSWBmbNUvGDMsQLSC6SGgFBM" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0x3546b156d97633f7f8cad536d5454c81d1d604687c02b2eb105fdc33cb962b41", + "urls": [ + "bzz-raw://fc373869014f80e7ad928ae44bb7678a2d7aacf213fb0ce36bcbbb3166845903", + "dweb:/ipfs/QmUaRPa2Nm2WfKeCq8yRCR94JZFCnfr4xw9LJADWxhTcwt" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad", + "urls": [ + "bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278", + "dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "src/Allowances.sol": { + "keccak256": "0xc4d8a645328ffec856c2ea3b96e1719f3265db4f840092b85da8ff26931e8fe1", + "urls": [ + "bzz-raw://63367b1a31a7cc4306fce17a2496b98c7dfe9cf0b9ed9799df2372d91e3cfa27", + "dweb:/ipfs/QmTGeSy6GeNMXQ5wd2jfAhcpg7TsteFpum7iAyBEMDUiq3" + ], + "license": "BUSL-1.1" + }, + "src/SubAccounts.sol": { + "keccak256": "0x5ad7cae0583b2b42f845ef6357e9bcd7974b4c4335736c3b337903899f6eaf10", + "urls": [ + "bzz-raw://37eb980b96355a087bbc2af0d8cb155fab6951b24d5ffe550e19be591bab3b04", + "dweb:/ipfs/QmPuGPpzch8RnscSnZC1V62tFCajjeU3WhwdVViAEQiDTG" + ], + "license": "BUSL-1.1" + }, + "src/interfaces/IAllowances.sol": { + "keccak256": "0x53acb29f236a4b2d6c9ebcbd4d2f8a65eeb0049b35b33a950467699987141dfb", + "urls": [ + "bzz-raw://59743a7e65b252241e5bbb158ab69ba55eb2118d84b5020510b486483cd1578b", + "dweb:/ipfs/QmTMKUpN8sW1oXb5gjEXXY7d8FRAaJotf6MtDW1rG49vSo" + ], + "license": "BUSL-1.1" + }, + "src/interfaces/IAsset.sol": { + "keccak256": "0xe2d55d7aaddcb04cc002b32f464d57d001800d9bd959cd1a5c60f78bd78e6bcb", + "urls": [ + "bzz-raw://7af70cb014b81f4272e862f87c9ca027ba8aed9d72d5c1a9ca28b7f05edf8389", + "dweb:/ipfs/QmZfdNtWQrXLu3avyJiWEVBfEvj5EwbwwtZtczLm7PcRei" + ], + "license": "BUSL-1.1" + }, + "src/interfaces/IManager.sol": { + "keccak256": "0x3cea09b9ade8f5882374407dfb3a9b668c0c2b0a85c165cabdbafdbea891b3df", + "urls": [ + "bzz-raw://2f9af85d7fd8bb32c9344f21b0dd3cfb9485f6c3f9ca866c8adb0638acc7e3b9", + "dweb:/ipfs/QmbL1te91vqCbYLxxvpxFGhqCXUzQwiKZuZjY5XNkQqt4s" + ], + "license": "BUSL-1.1" + }, + "src/interfaces/ISubAccounts.sol": { + "keccak256": "0xecdbfdf0bf85279ee7839968c3198c6a7c5632378d197271300617a01dfb02f7", + "urls": [ + "bzz-raw://64e23c1447aa8de056c7d5bc8d79c1357f039e443abe6d6698c6f0a1f3482697", + "dweb:/ipfs/QmQzgG2EX6gZgzTArDkxMFRkph3bWH7VjnqEebkmhbCjLK" + ], + "license": "BUSL-1.1" + }, + "src/libraries/AssetDeltaLib.sol": { + "keccak256": "0x61bb1d92fca3a20ff16f8793f98c5bbed34112b5c51de13c50a0ca063c64b618", + "urls": [ + "bzz-raw://77bb44963faf72508923ac711e9c4767a35204bb66e382618943103920bce676", + "dweb:/ipfs/QmZevtYZSu8iW9GGPU4tk87Kewz9772r7HNqvgPq5XwwUE" + ], + "license": "BUSL-1.1" + }, + "src/libraries/PermitAllowanceLib.sol": { + "keccak256": "0x5449610b582733581516aaad886e6ee3d03d3090900ccbca7599e930cf12f6f4", + "urls": [ + "bzz-raw://29074071ee18619759f2e00c8c9949e5f9977a869a8a396b32a734857ed15dc7", + "dweb:/ipfs/QmX4a5WYojSva6NW5sZwBCiEErtPX2baeCiRfggJcgk27B" + ], + "license": "BUSL-1.1" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/SubAccounts.sol", + "id": 42107, + "exportedSymbols": { + "Address": [ + 33526 + ], + "Allowances": [ + 40125 + ], + "AssetDeltaLib": [ + 50591 + ], + "Context": [ + 33548 + ], + "ECDSA": [ + 34138 + ], + "EIP712": [ + 34292 + ], + "ERC165": [ + 34398 + ], + "ERC721": [ + 33035 + ], + "IAsset": [ + 47820 + ], + "IERC1271": [ + 30167 + ], + "IERC165": [ + 34410 + ], + "IERC721": [ + 33151 + ], + "IERC721Metadata": [ + 33196 + ], + "IERC721Receiver": [ + 33169 + ], + "IManager": [ + 48929 + ], + "ISubAccounts": [ + 50227 + ], + "Math": [ + 35276 + ], + "PermitAllowanceLib": [ + 50763 + ], + "ReentrancyGuard": [ + 30400 + ], + "SafeCast": [ + 36817 + ], + "SignatureChecker": [ + 34374 + ], + "SignedMath": [ + 36922 + ], + "Strings": [ + 33777 + ], + "SubAccounts": [ + 42106 + ], + "UnorderedMemoryArray": [ + 26718 + ] + }, + "nodeType": "SourceUnit", + "src": "37:26769:57", + "nodes": [ + { + "id": 40453, + "nodeType": "PragmaDirective", + "src": "37:24:57", + "nodes": [], + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ] + }, + { + "id": 40454, + "nodeType": "ImportDirective", + "src": "63:46:57", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin/token/ERC721/ERC721.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 33036, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40455, + "nodeType": "ImportDirective", + "src": "110:46:57", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", + "file": "openzeppelin/utils/math/SafeCast.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 36818, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40456, + "nodeType": "ImportDirective", + "src": "157:51:57", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", + "file": "openzeppelin/security/ReentrancyGuard.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 30401, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40458, + "nodeType": "ImportDirective", + "src": "209:59:57", + "nodes": [], + "absolutePath": "src/interfaces/ISubAccounts.sol", + "file": "./interfaces/ISubAccounts.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 50228, + "symbolAliases": [ + { + "foreign": { + "id": 40457, + "name": "ISubAccounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50227, + "src": "217:12:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 40459, + "nodeType": "ImportDirective", + "src": "269:52:57", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol", + "file": "openzeppelin/utils/cryptography/EIP712.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 34293, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40460, + "nodeType": "ImportDirective", + "src": "322:62:57", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol", + "file": "openzeppelin/utils/cryptography/SignatureChecker.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 34375, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40461, + "nodeType": "ImportDirective", + "src": "385:52:57", + "nodes": [], + "absolutePath": "lib/lyra-utils/src/arrays/UnorderedMemoryArray.sol", + "file": "lyra-utils/arrays/UnorderedMemoryArray.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 26719, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 40463, + "nodeType": "ImportDirective", + "src": "439:47:57", + "nodes": [], + "absolutePath": "src/interfaces/IAsset.sol", + "file": "./interfaces/IAsset.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 47821, + "symbolAliases": [ + { + "foreign": { + "id": 40462, + "name": "IAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 47820, + "src": "447:6:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 40465, + "nodeType": "ImportDirective", + "src": "487:51:57", + "nodes": [], + "absolutePath": "src/interfaces/IManager.sol", + "file": "./interfaces/IManager.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 48930, + "symbolAliases": [ + { + "foreign": { + "id": 40464, + "name": "IManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48929, + "src": "495:8:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 40467, + "nodeType": "ImportDirective", + "src": "539:44:57", + "nodes": [], + "absolutePath": "src/Allowances.sol", + "file": "./Allowances.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 40126, + "symbolAliases": [ + { + "foreign": { + "id": 40466, + "name": "Allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40125, + "src": "547:10:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 40469, + "nodeType": "ImportDirective", + "src": "584:60:57", + "nodes": [], + "absolutePath": "src/libraries/AssetDeltaLib.sol", + "file": "./libraries/AssetDeltaLib.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 50592, + "symbolAliases": [ + { + "foreign": { + "id": 40468, + "name": "AssetDeltaLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50591, + "src": "592:13:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 40471, + "nodeType": "ImportDirective", + "src": "645:70:57", + "nodes": [], + "absolutePath": "src/libraries/PermitAllowanceLib.sol", + "file": "./libraries/PermitAllowanceLib.sol", + "nameLocation": "-1:-1:-1", + "scope": 42107, + "sourceUnit": 50764, + "symbolAliases": [ + { + "foreign": { + "id": 40470, + "name": "PermitAllowanceLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50763, + "src": "653:18:57", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 42106, + "nodeType": "ContractDefinition", + "src": "1013:25792:57", + "nodes": [ + { + "id": 40485, + "nodeType": "UsingForDirective", + "src": "1099:23:57", + "nodes": [], + "global": false, + "libraryName": { + "id": 40483, + "name": "SafeCast", + "nameLocations": [ + "1105:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36817, + "src": "1105:8:57" + }, + "typeName": { + "id": 40484, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1118:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + }, + { + "id": 40488, + "nodeType": "UsingForDirective", + "src": "1125:24:57", + "nodes": [], + "global": false, + "libraryName": { + "id": 40486, + "name": "SafeCast", + "nameLocations": [ + "1131:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 36817, + "src": "1131:8:57" + }, + "typeName": { + "id": 40487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1144:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 40492, + "nodeType": "UsingForDirective", + "src": "1152:45:57", + "nodes": [], + "global": false, + "libraryName": { + "id": 40489, + "name": "AssetDeltaLib", + "nameLocations": [ + "1158:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50591, + "src": "1158:13:57" + }, + "typeName": { + "id": 40491, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40490, + "name": "AssetDeltaArrayCache", + "nameLocations": [ + "1176:20:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49927, + "src": "1176:20:57" + }, + "referencedDeclaration": 49927, + "src": "1176:20:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_storage_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache" + } + } + }, + { + "id": 40496, + "nodeType": "VariableDeclaration", + "src": "1303:29:57", + "nodes": [], + "constant": false, + "documentation": { + "id": 40493, + "nodeType": "StructuredDocumentation", + "src": "1256:44:57", + "text": "@dev last account id (ERC721 id) created" + }, + "functionSelector": "708c3593", + "mutability": "mutable", + "name": "lastAccountId", + "nameLocation": "1315:13:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40494, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1303:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 40495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1331:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "id": 40500, + "nodeType": "VariableDeclaration", + "src": "1413:27:57", + "nodes": [], + "constant": false, + "documentation": { + "id": 40497, + "nodeType": "StructuredDocumentation", + "src": "1337:73:57", + "text": "@dev last trade id that was attached with manager hook and asset hook" + }, + "functionSelector": "52bcfd5b", + "mutability": "mutable", + "name": "lastTradeId", + "nameLocation": "1425:11:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40498, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1413:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 40499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1439:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "id": 40506, + "nodeType": "VariableDeclaration", + "src": "1477:50:57", + "nodes": [], + "baseFunctions": [ + 50063 + ], + "constant": false, + "documentation": { + "id": 40501, + "nodeType": "StructuredDocumentation", + "src": "1445:29:57", + "text": "@dev accountId to manager" + }, + "functionSelector": "52981457", + "mutability": "mutable", + "name": "manager", + "nameLocation": "1520:7:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + }, + "typeName": { + "id": 40505, + "keyName": "accountId", + "keyNameLocation": "1490:9:57", + "keyType": { + "id": 40502, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1485:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1477:35:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 40504, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40503, + "name": "IManager", + "nameLocations": [ + "1503:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 48929, + "src": "1503:8:57" + }, + "referencedDeclaration": 48929, + "src": "1503:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + }, + "visibility": "public" + }, + { + "id": 40517, + "nodeType": "VariableDeclaration", + "src": "1597:113:57", + "nodes": [], + "baseFunctions": [ + 50086 + ], + "constant": false, + "documentation": { + "id": 40507, + "nodeType": "StructuredDocumentation", + "src": "1532:62:57", + "text": "@dev accountId => asset => subId => BalanceAndOrder struct" + }, + "functionSelector": "a513cab8", + "mutability": "mutable", + "name": "balanceAndOrder", + "nameLocation": "1695:15:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder)))" + }, + "typeName": { + "id": 40516, + "keyName": "accountId", + "keyNameLocation": "1610:9:57", + "keyType": { + "id": 40508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1605:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1597:90:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder)))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 40515, + "keyName": "asset", + "keyNameLocation": "1638:5:57", + "keyType": { + "id": 40510, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40509, + "name": "IAsset", + "nameLocations": [ + "1631:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47820, + "src": "1631:6:57" + }, + "referencedDeclaration": 47820, + "src": "1631:6:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "nodeType": "Mapping", + "src": "1623:63:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$", + "typeString": "mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 40514, + "keyName": "subId", + "keyNameLocation": "1660:5:57", + "keyType": { + "id": 40511, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1655:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1647:38:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.BalanceAndOrder)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 40513, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40512, + "name": "BalanceAndOrder", + "nameLocations": [ + "1669:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49905, + "src": "1669:15:57" + }, + "referencedDeclaration": 49905, + "src": "1669:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + } + } + } + } + }, + "visibility": "public" + }, + { + "id": 40524, + "nodeType": "VariableDeclaration", + "src": "1761:56:57", + "nodes": [], + "constant": false, + "documentation": { + "id": 40518, + "nodeType": "StructuredDocumentation", + "src": "1715:43:57", + "text": "@dev accountId to non-zero assets array" + }, + "functionSelector": "cdfa628a", + "mutability": "mutable", + "name": "heldAssets", + "nameLocation": "1807:10:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset[])" + }, + "typeName": { + "id": 40523, + "keyName": "accountId", + "keyNameLocation": "1774:9:57", + "keyType": { + "id": 40519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1769:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1761:38:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset[])" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "baseType": { + "id": 40521, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40520, + "name": "HeldAsset", + "nameLocations": [ + "1787:9:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49911, + "src": "1787:9:57" + }, + "referencedDeclaration": 49911, + "src": "1787:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + } + }, + "id": 40522, + "nodeType": "ArrayTypeName", + "src": "1787:11:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset[]" + } + } + }, + "visibility": "public" + }, + { + "id": 40531, + "nodeType": "VariableDeclaration", + "src": "1894:87:57", + "nodes": [], + "constant": false, + "documentation": { + "id": 40525, + "nodeType": "StructuredDocumentation", + "src": "1822:69:57", + "text": "@dev user nonce for permit. User => wordPosition => nonce bit map" + }, + "functionSelector": "4fe02b44", + "mutability": "mutable", + "name": "nonceBitmap", + "nameLocation": "1970:11:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 40530, + "keyName": "account", + "keyNameLocation": "1910:7:57", + "keyType": { + "id": 40526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1902:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1894:68:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 40529, + "keyName": "wordPosition", + "keyNameLocation": "1934:12:57", + "keyType": { + "id": 40527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1929:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1921:40:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "nonce", + "valueNameLocation": "1955:5:57", + "valueType": { + "id": 40528, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1950:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "id": 40536, + "nodeType": "VariableDeclaration", + "src": "2061:65:57", + "nodes": [], + "baseFunctions": [ + 50071 + ], + "constant": false, + "documentation": { + "id": 40532, + "nodeType": "StructuredDocumentation", + "src": "1986:72:57", + "text": "@dev the trade id of the last trade that was executed for an account" + }, + "functionSelector": "d4d2a69f", + "mutability": "mutable", + "name": "lastAccountTradeId", + "nameLocation": "2108:18:57", + "scope": 42106, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 40535, + "keyName": "accountId", + "keyNameLocation": "2074:9:57", + "keyType": { + "id": 40533, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2069:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2061:39:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueName": "tradeId", + "valueNameLocation": "2092:7:57", + "valueType": { + "id": 40534, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2087:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "id": 40552, + "nodeType": "FunctionDefinition", + "src": "2213:101:57", + "nodes": [], + "body": { + "id": 40551, + "nodeType": "Block", + "src": "2312:2:57", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 40543, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40538, + "src": "2276:5:57", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 40544, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40540, + "src": "2283:7:57", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 40545, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 40542, + "name": "ERC721", + "nameLocations": [ + "2269:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33035, + "src": "2269:6:57" + }, + "nodeType": "ModifierInvocation", + "src": "2269:22:57" + }, + { + "arguments": [ + { + "hexValue": "4c797261", + "id": 40547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2299:6:57", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_036da2a126234aba0ab63818262d26df74bd0d73770b258318482325b327ab2a", + "typeString": "literal_string \"Lyra\"" + }, + "value": "Lyra" + }, + { + "hexValue": "31", + "id": 40548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2307:3:57", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", + "typeString": "literal_string \"1\"" + }, + "value": "1" + } + ], + "id": 40549, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 40546, + "name": "EIP712", + "nameLocations": [ + "2292:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 34292, + "src": "2292:6:57" + }, + "nodeType": "ModifierInvocation", + "src": "2292:19:57" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 40541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40538, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2239:5:57", + "nodeType": "VariableDeclaration", + "scope": 40552, + "src": "2225:19:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 40537, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2225:6:57", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40540, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2260:7:57", + "nodeType": "VariableDeclaration", + "scope": 40552, + "src": "2246:21:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 40539, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2246:6:57", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2224:44:57" + }, + "returnParameters": { + "id": 40550, + "nodeType": "ParameterList", + "parameters": [], + "src": "2312:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 40569, + "nodeType": "FunctionDefinition", + "src": "2578:136:57", + "nodes": [], + "body": { + "id": 40568, + "nodeType": "Block", + "src": "2665:49:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40564, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40555, + "src": "2693:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40565, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40558, + "src": "2700:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 40563, + "name": "_createAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40632, + "src": "2678:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_contract$_IManager_$48929_$returns$_t_uint256_$", + "typeString": "function (address,contract IManager) returns (uint256)" + } + }, + "id": 40566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2678:31:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 40562, + "id": 40567, + "nodeType": "Return", + "src": "2671:38:57" + } + ] + }, + "baseFunctions": [ + 49972 + ], + "documentation": { + "id": 40553, + "nodeType": "StructuredDocumentation", + "src": "2400:175:57", + "text": " @notice Creates account with new accountId\n @param owner new account owner\n @param _manager IManager of new account\n @return newId ID of new account" + }, + "functionSelector": "133572ba", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createAccount", + "nameLocation": "2587:13:57", + "parameters": { + "id": 40559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40555, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2609:5:57", + "nodeType": "VariableDeclaration", + "scope": 40569, + "src": "2601:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2601:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40558, + "mutability": "mutable", + "name": "_manager", + "nameLocation": "2625:8:57", + "nodeType": "VariableDeclaration", + "scope": 40569, + "src": "2616:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + }, + "typeName": { + "id": 40557, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40556, + "name": "IManager", + "nameLocations": [ + "2616:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 48929, + "src": "2616:8:57" + }, + "referencedDeclaration": 48929, + "src": "2616:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "visibility": "internal" + } + ], + "src": "2600:34:57" + }, + "returnParameters": { + "id": 40562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40561, + "mutability": "mutable", + "name": "newId", + "nameLocation": "2658:5:57", + "nodeType": "VariableDeclaration", + "scope": 40569, + "src": "2653:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40560, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2653:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2652:12:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40595, + "nodeType": "FunctionDefinition", + "src": "3074:196:57", + "nodes": [], + "body": { + "id": 40594, + "nodeType": "Block", + "src": "3190:80:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 40587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 40582, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40580, + "src": "3196:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 40584, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40572, + "src": "3219:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40585, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40577, + "src": "3226:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 40583, + "name": "_createAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40632, + "src": "3204:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_contract$_IManager_$48929_$returns$_t_uint256_$", + "typeString": "function (address,contract IManager) returns (uint256)" + } + }, + "id": 40586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3204:31:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3196:39:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40588, + "nodeType": "ExpressionStatement", + "src": "3196:39:57" + }, + { + "expression": { + "arguments": [ + { + "id": 40590, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40574, + "src": "3250:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40591, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40580, + "src": "3259:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40589, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32867, + "src": "3241:8:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 40592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3241:24:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40593, + "nodeType": "ExpressionStatement", + "src": "3241:24:57" + } + ] + }, + "baseFunctions": [ + 49985 + ], + "documentation": { + "id": 40570, + "nodeType": "StructuredDocumentation", + "src": "2718:353:57", + "text": " @notice Creates account and gives spender full allowance\n @dev @note: can be used to create and account for another user and simultaneously give allowance to oneself\n @param owner new account owner\n @param spender give address ERC721 approval\n @param _manager IManager of new account\n @return newId ID of new account" + }, + "functionSelector": "e6e4f5af", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createAccountWithApproval", + "nameLocation": "3083:25:57", + "parameters": { + "id": 40578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40572, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3117:5:57", + "nodeType": "VariableDeclaration", + "scope": 40595, + "src": "3109:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3109:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40574, + "mutability": "mutable", + "name": "spender", + "nameLocation": "3132:7:57", + "nodeType": "VariableDeclaration", + "scope": 40595, + "src": "3124:15:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40573, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3124:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40577, + "mutability": "mutable", + "name": "_manager", + "nameLocation": "3150:8:57", + "nodeType": "VariableDeclaration", + "scope": 40595, + "src": "3141:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + }, + "typeName": { + "id": 40576, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40575, + "name": "IManager", + "nameLocations": [ + "3141:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 48929, + "src": "3141:8:57" + }, + "referencedDeclaration": 48929, + "src": "3141:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "visibility": "internal" + } + ], + "src": "3108:51:57" + }, + "returnParameters": { + "id": 40581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40580, + "mutability": "mutable", + "name": "newId", + "nameLocation": "3183:5:57", + "nodeType": "VariableDeclaration", + "scope": 40595, + "src": "3178:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40579, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3178:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3177:12:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40632, + "nodeType": "FunctionDefinition", + "src": "3474:236:57", + "nodes": [], + "body": { + "id": 40631, + "nodeType": "Block", + "src": "3562:148:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 40609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 40606, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40604, + "src": "3568:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 40608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "3576:15:57", + "subExpression": { + "id": 40607, + "name": "lastAccountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40496, + "src": "3578:13:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3568:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40610, + "nodeType": "ExpressionStatement", + "src": "3568:23:57" + }, + { + "expression": { + "id": 40615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 40611, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "3597:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 40613, + "indexExpression": { + "id": 40612, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40604, + "src": "3605:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3597:14:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 40614, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40601, + "src": "3614:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "src": "3597:25:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "id": 40616, + "nodeType": "ExpressionStatement", + "src": "3597:25:57" + }, + { + "expression": { + "arguments": [ + { + "id": 40618, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40598, + "src": "3634:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40619, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40604, + "src": "3641:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40617, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32691, + "src": "3628:5:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 40620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3628:19:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40621, + "nodeType": "ExpressionStatement", + "src": "3628:19:57" + }, + { + "eventCall": { + "arguments": [ + { + "id": 40623, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40598, + "src": "3673:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40624, + "name": "newId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40604, + "src": "3680:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 40627, + "name": "_manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40601, + "src": "3695:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 40626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3687:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 40625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3687:7:57", + "typeDescriptions": {} + } + }, + "id": 40628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3687:17:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 40622, + "name": "AccountCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50127, + "src": "3658:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 40629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3658:47:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40630, + "nodeType": "EmitStatement", + "src": "3653:52:57" + } + ] + }, + "documentation": { + "id": 40596, + "nodeType": "StructuredDocumentation", + "src": "3274:197:57", + "text": " @dev create an account for a user, assign manager and emit event\n @param owner new account owner\n @param _manager IManager of new account\n @return newId ID of new account" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_createAccount", + "nameLocation": "3483:14:57", + "parameters": { + "id": 40602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40598, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3506:5:57", + "nodeType": "VariableDeclaration", + "scope": 40632, + "src": "3498:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3498:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40601, + "mutability": "mutable", + "name": "_manager", + "nameLocation": "3522:8:57", + "nodeType": "VariableDeclaration", + "scope": 40632, + "src": "3513:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + }, + "typeName": { + "id": 40600, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40599, + "name": "IManager", + "nameLocations": [ + "3513:8:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 48929, + "src": "3513:8:57" + }, + "referencedDeclaration": 48929, + "src": "3513:8:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "visibility": "internal" + } + ], + "src": "3497:34:57" + }, + "returnParameters": { + "id": 40605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40604, + "mutability": "mutable", + "name": "newId", + "nameLocation": "3555:5:57", + "nodeType": "VariableDeclaration", + "scope": 40632, + "src": "3550:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3550:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3549:12:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 40659, + "nodeType": "FunctionDefinition", + "src": "4162:258:57", + "nodes": [], + "body": { + "id": 40658, + "nodeType": "Block", + "src": "4337:83:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40650, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40635, + "src": "4363:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 40652, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40635, + "src": "4382:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40651, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "4374:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 40653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4374:18:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40654, + "name": "delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40637, + "src": "4394:8:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40655, + "name": "allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40641, + "src": "4404:10:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.AssetAllowance memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.AssetAllowance memory[] memory" + } + ], + "id": 40649, + "name": "_setAssetAllowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39878, + "src": "4343:19:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_struct$_AssetAllowance_$47693_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,address,struct IAllowances.AssetAllowance memory[] memory)" + } + }, + "id": 40656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4343:72:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40657, + "nodeType": "ExpressionStatement", + "src": "4343:72:57" + } + ] + }, + "baseFunctions": [ + 49997 + ], + "documentation": { + "id": 40633, + "nodeType": "StructuredDocumentation", + "src": "3772:387:57", + "text": " @notice Sets bidirectional allowances for all subIds of an asset.\n During a balance adjustment, if msg.sender not ERC721 approved or owner,\n asset allowance + subId allowance must be >= amount\n @param accountId ID of account\n @param delegate address to assign allowance to\n @param allowances positive and negative amounts for each asset" + }, + "functionSelector": "daf1a906", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 40644, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4312:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 40645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4316:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4312:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40646, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40635, + "src": "4324:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 40647, + "kind": "modifierInvocation", + "modifierName": { + "id": 40643, + "name": "onlyOwnerOrManagerOrERC721Approved", + "nameLocations": [ + "4277:34:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 42064, + "src": "4277:34:57" + }, + "nodeType": "ModifierInvocation", + "src": "4277:57:57" + } + ], + "name": "setAssetAllowances", + "nameLocation": "4171:18:57", + "parameters": { + "id": 40642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40635, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "4195:9:57", + "nodeType": "VariableDeclaration", + "scope": 40659, + "src": "4190:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40634, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4190:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40637, + "mutability": "mutable", + "name": "delegate", + "nameLocation": "4214:8:57", + "nodeType": "VariableDeclaration", + "scope": 40659, + "src": "4206:16:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4206:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40641, + "mutability": "mutable", + "name": "allowances", + "nameLocation": "4248:10:57", + "nodeType": "VariableDeclaration", + "scope": 40659, + "src": "4224:34:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.AssetAllowance[]" + }, + "typeName": { + "baseType": { + "id": 40639, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40638, + "name": "AssetAllowance", + "nameLocations": [ + "4224:14:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47693, + "src": "4224:14:57" + }, + "referencedDeclaration": 47693, + "src": "4224:14:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAllowance_$47693_storage_ptr", + "typeString": "struct IAllowances.AssetAllowance" + } + }, + "id": 40640, + "nodeType": "ArrayTypeName", + "src": "4224:16:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_storage_$dyn_storage_ptr", + "typeString": "struct IAllowances.AssetAllowance[]" + } + }, + "visibility": "internal" + } + ], + "src": "4189:70:57" + }, + "returnParameters": { + "id": 40648, + "nodeType": "ParameterList", + "parameters": [], + "src": "4337:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40690, + "nodeType": "FunctionDefinition", + "src": "4749:285:57", + "nodes": [], + "body": { + "id": 40689, + "nodeType": "Block", + "src": "4924:110:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 40677 + ], + "declarations": [ + { + "constant": false, + "id": 40677, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4938:5:57", + "nodeType": "VariableDeclaration", + "scope": 40689, + "src": "4930:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4930:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 40681, + "initialValue": { + "arguments": [ + { + "id": 40679, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40662, + "src": "4954:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40678, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "4946:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 40680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4946:18:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4930:34:57" + }, + { + "expression": { + "arguments": [ + { + "id": 40683, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40662, + "src": "4990:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 40684, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40677, + "src": "5001:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40685, + "name": "delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40664, + "src": "5008:8:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40686, + "name": "allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40668, + "src": "5018:10:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.SubIdAllowance memory[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.SubIdAllowance memory[] memory" + } + ], + "id": 40682, + "name": "_setSubIdAllowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39955, + "src": "4970:19:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_struct$_SubIdAllowance_$47703_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,address,struct IAllowances.SubIdAllowance memory[] memory)" + } + }, + "id": 40687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4970:59:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40688, + "nodeType": "ExpressionStatement", + "src": "4970:59:57" + } + ] + }, + "baseFunctions": [ + 50009 + ], + "documentation": { + "id": 40660, + "nodeType": "StructuredDocumentation", + "src": "4424:322:57", + "text": " @notice Sets bidirectional allowances for a specific subId.\n During a balance adjustment, the subId allowance is decremented first\n @param accountId ID of account\n @param delegate address to assign allowance to\n @param allowances positive and negative amounts for each (asset, subId)" + }, + "functionSelector": "02176d39", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 40671, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4899:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 40672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4903:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4899:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40673, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40662, + "src": "4911:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 40674, + "kind": "modifierInvocation", + "modifierName": { + "id": 40670, + "name": "onlyOwnerOrManagerOrERC721Approved", + "nameLocations": [ + "4864:34:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 42064, + "src": "4864:34:57" + }, + "nodeType": "ModifierInvocation", + "src": "4864:57:57" + } + ], + "name": "setSubIdAllowances", + "nameLocation": "4758:18:57", + "parameters": { + "id": 40669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40662, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "4782:9:57", + "nodeType": "VariableDeclaration", + "scope": 40690, + "src": "4777:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40661, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4777:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40664, + "mutability": "mutable", + "name": "delegate", + "nameLocation": "4801:8:57", + "nodeType": "VariableDeclaration", + "scope": 40690, + "src": "4793:16:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40663, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4793:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40668, + "mutability": "mutable", + "name": "allowances", + "nameLocation": "4835:10:57", + "nodeType": "VariableDeclaration", + "scope": 40690, + "src": "4811:34:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_memory_ptr_$dyn_memory_ptr", + "typeString": "struct IAllowances.SubIdAllowance[]" + }, + "typeName": { + "baseType": { + "id": 40666, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40665, + "name": "SubIdAllowance", + "nameLocations": [ + "4811:14:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47703, + "src": "4811:14:57" + }, + "referencedDeclaration": 47703, + "src": "4811:14:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SubIdAllowance_$47703_storage_ptr", + "typeString": "struct IAllowances.SubIdAllowance" + } + }, + "id": 40667, + "nodeType": "ArrayTypeName", + "src": "4811:16:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_storage_$dyn_storage_ptr", + "typeString": "struct IAllowances.SubIdAllowance[]" + } + }, + "visibility": "internal" + } + ], + "src": "4776:70:57" + }, + "returnParameters": { + "id": 40675, + "nodeType": "ParameterList", + "parameters": [], + "src": "4924:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40705, + "nodeType": "FunctionDefinition", + "src": "5253:139:57", + "nodes": [], + "body": { + "id": 40704, + "nodeType": "Block", + "src": "5346:46:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40700, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40694, + "src": "5360:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + { + "id": 40701, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40696, + "src": "5377:9:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40699, + "name": "_permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40803, + "src": "5352:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitAllowance_$47720_calldata_ptr_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct IAllowances.PermitAllowance calldata,bytes calldata)" + } + }, + "id": 40702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5352:35:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40703, + "nodeType": "ExpressionStatement", + "src": "5352:35:57" + } + ] + }, + "documentation": { + "id": 40691, + "nodeType": "StructuredDocumentation", + "src": "5038:212:57", + "text": " @dev adjust allowance by owner signature\n @param allowancePermit struct specifying accountId, delegator and allowance detail\n @param signature ECDSA signature or EIP 1271 contract signature" + }, + "functionSelector": "49a21b37", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "permit", + "nameLocation": "5262:6:57", + "parameters": { + "id": 40697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40694, + "mutability": "mutable", + "name": "allowancePermit", + "nameLocation": "5294:15:57", + "nodeType": "VariableDeclaration", + "scope": 40705, + "src": "5269:40:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance" + }, + "typeName": { + "id": 40693, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40692, + "name": "PermitAllowance", + "nameLocations": [ + "5269:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47720, + "src": "5269:15:57" + }, + "referencedDeclaration": 47720, + "src": "5269:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_storage_ptr", + "typeString": "struct IAllowances.PermitAllowance" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40696, + "mutability": "mutable", + "name": "signature", + "nameLocation": "5326:9:57", + "nodeType": "VariableDeclaration", + "scope": 40705, + "src": "5311:24:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40695, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5311:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5268:68:57" + }, + "returnParameters": { + "id": 40698, + "nodeType": "ParameterList", + "parameters": [], + "src": "5346:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40730, + "nodeType": "FunctionDefinition", + "src": "5870:184:57", + "nodes": [], + "body": { + "id": 40729, + "nodeType": "Block", + "src": "5939:115:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 40720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 40713, + "name": "nonceBitmap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40531, + "src": "5945:11:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 40717, + "indexExpression": { + "expression": { + "id": 40714, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5957:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 40715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5961:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5957:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5945:23:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 40718, + "indexExpression": { + "id": 40716, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40708, + "src": "5969:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5945:32:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "|=", + "rightHandSide": { + "id": 40719, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40710, + "src": "5981:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5945:40:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40721, + "nodeType": "ExpressionStatement", + "src": "5945:40:57" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 40723, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6023:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 40724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6027:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6023:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 40725, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40708, + "src": "6035:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 40726, + "name": "mask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40710, + "src": "6044:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40722, + "name": "UnorderedNonceInvalidated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50154, + "src": "5997:25:57", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 40727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5997:52:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40728, + "nodeType": "EmitStatement", + "src": "5992:57:57" + } + ] + }, + "documentation": { + "id": 40706, + "nodeType": "StructuredDocumentation", + "src": "5396:471:57", + "text": " @notice Invalidates the bits specified in mask for the bitmap at the word position\n @dev Copied from Uniswap's Permit2 nonce system\n https://github.com/Uniswap/permit2/blob/ca6b6ff2b47afc2942f3c67b0d929ca4f0b32631/src/SignatureTransfer.sol#L130\n @dev The wordPos is maxed at type(uint248).max\n @param wordPos A number to index the nonceBitmap at\n @param mask A bitmap masked against msg.sender's current bitmap at the word position" + }, + "functionSelector": "3ff9dcb1", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "invalidateUnorderedNonces", + "nameLocation": "5879:25:57", + "parameters": { + "id": 40711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40708, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "5910:7:57", + "nodeType": "VariableDeclaration", + "scope": 40730, + "src": "5905:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40707, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5905:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40710, + "mutability": "mutable", + "name": "mask", + "nameLocation": "5924:4:57", + "nodeType": "VariableDeclaration", + "scope": 40730, + "src": "5919:9:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40709, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5919:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5904:25:57" + }, + "returnParameters": { + "id": 40712, + "nodeType": "ParameterList", + "parameters": [], + "src": "5939:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40803, + "nodeType": "FunctionDefinition", + "src": "6283:933:57", + "nodes": [], + "body": { + "id": 40802, + "nodeType": "Block", + "src": "6377:839:57", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 40739, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "6387:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6403:8:57", + "memberName": "deadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 47711, + "src": "6387:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 40741, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "6414:5:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 40742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6420:9:57", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "6414:15:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6387:42:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 40747, + "nodeType": "IfStatement", + "src": "6383:76:57", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 40744, + "name": "AC_SignatureExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50223, + "src": "6438:19:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 40745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6438:21:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40746, + "nodeType": "RevertStatement", + "src": "6431:28:57" + } + }, + { + "assignments": [ + 40749 + ], + "declarations": [ + { + "constant": false, + "id": 40749, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6528:5:57", + "nodeType": "VariableDeclaration", + "scope": 40802, + "src": "6520:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6520:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 40754, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 40751, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "6544:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6560:9:57", + "memberName": "accountId", + "nodeType": "MemberAccess", + "referencedDeclaration": 47709, + "src": "6544:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40750, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "6536:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 40753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6536:34:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6520:50:57" + }, + { + "assignments": [ + 40756 + ], + "declarations": [ + { + "constant": false, + "id": 40756, + "mutability": "mutable", + "name": "structHash", + "nameLocation": "6585:10:57", + "nodeType": "VariableDeclaration", + "scope": 40802, + "src": "6577:18:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 40755, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6577:7:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 40761, + "initialValue": { + "arguments": [ + { + "id": 40759, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "6622:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + ], + "expression": { + "id": 40757, + "name": "PermitAllowanceLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50763, + "src": "6598:18:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_PermitAllowanceLib_$50763_$", + "typeString": "type(library PermitAllowanceLib)" + } + }, + "id": 40758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6617:4:57", + "memberName": "hash", + "nodeType": "MemberAccess", + "referencedDeclaration": 50728, + "src": "6598:23:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PermitAllowance_$47720_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct IAllowances.PermitAllowance memory) pure returns (bytes32)" + } + }, + "id": 40760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6598:40:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6577:61:57" + }, + { + "condition": { + "id": 40770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6702:85:57", + "subExpression": { + "arguments": [ + { + "id": 40764, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40749, + "src": "6740:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 40766, + "name": "structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40756, + "src": "6764:10:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 40765, + "name": "_hashTypedDataV4", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34291, + "src": "6747:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 40767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6747:28:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 40768, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40736, + "src": "6777:9:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 40762, + "name": "SignatureChecker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34374, + "src": "6703:16:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignatureChecker_$34374_$", + "typeString": "type(library SignatureChecker)" + } + }, + "id": 40763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6720:19:57", + "memberName": "isValidSignatureNow", + "nodeType": "MemberAccess", + "referencedDeclaration": 34373, + "src": "6703:36:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) view returns (bool)" + } + }, + "id": 40769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6703:84:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 40775, + "nodeType": "IfStatement", + "src": "6698:140:57", + "trueBody": { + "id": 40774, + "nodeType": "Block", + "src": "6789:49:57", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 40771, + "name": "AC_InvalidPermitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50221, + "src": "6804:25:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 40772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6804:27:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40773, + "nodeType": "RevertStatement", + "src": "6797:34:57" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 40777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40749, + "src": "6884:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 40778, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "6891:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6907:5:57", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 47707, + "src": "6891:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40776, + "name": "_useUnorderedNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40845, + "src": "6865:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 40780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6865:48:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40781, + "nodeType": "ExpressionStatement", + "src": "6865:48:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 40783, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "6970:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6986:9:57", + "memberName": "accountId", + "nodeType": "MemberAccess", + "referencedDeclaration": 47709, + "src": "6970:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 40785, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40749, + "src": "6997:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 40786, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "7004:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7020:8:57", + "memberName": "delegate", + "nodeType": "MemberAccess", + "referencedDeclaration": 47705, + "src": "7004:24:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 40788, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "7030:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7046:15:57", + "memberName": "assetAllowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 47715, + "src": "7030:31:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.AssetAllowance calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetAllowance_$47693_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.AssetAllowance calldata[] calldata" + } + ], + "id": 40782, + "name": "_setAssetAllowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39878, + "src": "6950:19:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_struct$_AssetAllowance_$47693_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,address,struct IAllowances.AssetAllowance memory[] memory)" + } + }, + "id": 40790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6950:112:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40791, + "nodeType": "ExpressionStatement", + "src": "6950:112:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 40793, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "7119:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7135:9:57", + "memberName": "accountId", + "nodeType": "MemberAccess", + "referencedDeclaration": 47709, + "src": "7119:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 40795, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40749, + "src": "7146:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 40796, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "7153:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7169:8:57", + "memberName": "delegate", + "nodeType": "MemberAccess", + "referencedDeclaration": 47705, + "src": "7153:24:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 40798, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40734, + "src": "7179:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + "id": 40799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7195:15:57", + "memberName": "subIdAllowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 47719, + "src": "7179:31:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.SubIdAllowance calldata[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_SubIdAllowance_$47703_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.SubIdAllowance calldata[] calldata" + } + ], + "id": 40792, + "name": "_setSubIdAllowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39955, + "src": "7099:19:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_struct$_SubIdAllowance_$47703_memory_ptr_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256,address,address,struct IAllowances.SubIdAllowance memory[] memory)" + } + }, + "id": 40800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7099:112:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40801, + "nodeType": "ExpressionStatement", + "src": "7099:112:57" + } + ] + }, + "documentation": { + "id": 40731, + "nodeType": "StructuredDocumentation", + "src": "6058:222:57", + "text": " @dev verify signature and update allowance mapping\n @param allowancePermit struct specifying accountId, delegator and allowance detail\n @param signature ECDSA signature or EIP 1271 contract signature" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_permit", + "nameLocation": "6292:7:57", + "parameters": { + "id": 40737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40734, + "mutability": "mutable", + "name": "allowancePermit", + "nameLocation": "6325:15:57", + "nodeType": "VariableDeclaration", + "scope": 40803, + "src": "6300:40:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance" + }, + "typeName": { + "id": 40733, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40732, + "name": "PermitAllowance", + "nameLocations": [ + "6300:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47720, + "src": "6300:15:57" + }, + "referencedDeclaration": 47720, + "src": "6300:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_storage_ptr", + "typeString": "struct IAllowances.PermitAllowance" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40736, + "mutability": "mutable", + "name": "signature", + "nameLocation": "6357:9:57", + "nodeType": "VariableDeclaration", + "scope": 40803, + "src": "6342:24:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40735, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6342:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6299:68:57" + }, + "returnParameters": { + "id": 40738, + "nodeType": "ParameterList", + "parameters": [], + "src": "6377:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 40845, + "nodeType": "FunctionDefinition", + "src": "7610:336:57", + "nodes": [], + "body": { + "id": 40844, + "nodeType": "Block", + "src": "7673:273:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 40812, + 40814 + ], + "declarations": [ + { + "constant": false, + "id": 40812, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "7685:7:57", + "nodeType": "VariableDeclaration", + "scope": 40844, + "src": "7680:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40811, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7680:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40814, + "mutability": "mutable", + "name": "bitPos", + "nameLocation": "7699:6:57", + "nodeType": "VariableDeclaration", + "scope": 40844, + "src": "7694:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40813, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7694:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 40818, + "initialValue": { + "arguments": [ + { + "id": 40816, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40808, + "src": "7726:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40815, + "name": "_bitmapPositions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40872, + "src": "7709:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256,uint256)" + } + }, + "id": 40817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7709:23:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7679:53:57" + }, + { + "assignments": [ + 40820 + ], + "declarations": [ + { + "constant": false, + "id": 40820, + "mutability": "mutable", + "name": "bit", + "nameLocation": "7743:3:57", + "nodeType": "VariableDeclaration", + "scope": 40844, + "src": "7738:8:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40819, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7738:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 40824, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31", + "id": 40821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7749:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "id": 40822, + "name": "bitPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40814, + "src": "7754:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7749:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7738:22:57" + }, + { + "assignments": [ + 40826 + ], + "declarations": [ + { + "constant": false, + "id": 40826, + "mutability": "mutable", + "name": "flipped", + "nameLocation": "7771:7:57", + "nodeType": "VariableDeclaration", + "scope": 40844, + "src": "7766:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40825, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7766:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 40834, + "initialValue": { + "id": 40833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 40827, + "name": "nonceBitmap", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40531, + "src": "7781:11:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 40829, + "indexExpression": { + "id": 40828, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40806, + "src": "7793:4:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7781:17:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 40831, + "indexExpression": { + "id": 40830, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40812, + "src": "7799:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7781:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "^=", + "rightHandSide": { + "id": 40832, + "name": "bit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40820, + "src": "7811:3:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7781:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7766:48:57" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 40835, + "name": "flipped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40826, + "src": "7897:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "id": 40836, + "name": "bit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40820, + "src": "7907:3:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7897:13:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 40838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7914:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7897:18:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 40843, + "nodeType": "IfStatement", + "src": "7893:48:57", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 40840, + "name": "AC_InvalidNonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50226, + "src": "7924:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 40841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7924:17:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40842, + "nodeType": "RevertStatement", + "src": "7917:24:57" + } + } + ] + }, + "documentation": { + "id": 40804, + "nodeType": "StructuredDocumentation", + "src": "7220:387:57", + "text": " @notice Checks whether a nonce is taken and sets the bit at the bit position in the bitmap at the word position\n @dev Copied from Uniswap's Permit2 nonce system\n https://github.com/Uniswap/permit2/blob/ca6b6ff2b47afc2942f3c67b0d929ca4f0b32631/src/SignatureTransfer.sol#L150\n @param from The address to use the nonce at\n @param nonce The nonce to spend" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_useUnorderedNonce", + "nameLocation": "7619:18:57", + "parameters": { + "id": 40809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40806, + "mutability": "mutable", + "name": "from", + "nameLocation": "7646:4:57", + "nodeType": "VariableDeclaration", + "scope": 40845, + "src": "7638:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 40805, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7638:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40808, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "7657:5:57", + "nodeType": "VariableDeclaration", + "scope": 40845, + "src": "7652:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40807, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7652:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7637:26:57" + }, + "returnParameters": { + "id": 40810, + "nodeType": "ParameterList", + "parameters": [], + "src": "7673:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 40872, + "nodeType": "FunctionDefinition", + "src": "8606:154:57", + "nodes": [], + "body": { + "id": 40871, + "nodeType": "Block", + "src": "8693:67:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 40862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 40855, + "name": "wordPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40851, + "src": "8699:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 40858, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40848, + "src": "8717:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "38", + "id": 40859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8726:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "8717:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8709:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint248_$", + "typeString": "type(uint248)" + }, + "typeName": { + "id": 40856, + "name": "uint248", + "nodeType": "ElementaryTypeName", + "src": "8709:7:57", + "typeDescriptions": {} + } + }, + "id": 40861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8709:19:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint248", + "typeString": "uint248" + } + }, + "src": "8699:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40863, + "nodeType": "ExpressionStatement", + "src": "8699:29:57" + }, + { + "expression": { + "id": 40869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 40864, + "name": "bitPos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40853, + "src": "8734:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 40867, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40848, + "src": "8749:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 40866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8743:5:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 40865, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "8743:5:57", + "typeDescriptions": {} + } + }, + "id": 40868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8743:12:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8734:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40870, + "nodeType": "ExpressionStatement", + "src": "8734:21:57" + } + ] + }, + "documentation": { + "id": 40846, + "nodeType": "StructuredDocumentation", + "src": "7950:653:57", + "text": " @notice Returns the index of the bitmap and the bit position within the bitmap. Used for unordered nonces\n @dev Copied from Uniswap's Permit2 nonce system\n https://github.com/Uniswap/permit2/blob/ca6b6ff2b47afc2942f3c67b0d929ca4f0b32631/src/SignatureTransfer.sol#L142\n @dev The first 248 bits of the nonce value is the index of the desired bitmap\n @dev The last 8 bits of the nonce value is the position of the bit in the bitmap\n @param nonce The nonce to get the associated word and bit positions\n @return wordPos The word position or index into the nonceBitmap\n @return bitPos The bit position" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_bitmapPositions", + "nameLocation": "8615:16:57", + "parameters": { + "id": 40849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40848, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "8637:5:57", + "nodeType": "VariableDeclaration", + "scope": 40872, + "src": "8632:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40847, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8632:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8631:12:57" + }, + "returnParameters": { + "id": 40854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40851, + "mutability": "mutable", + "name": "wordPos", + "nameLocation": "8671:7:57", + "nodeType": "VariableDeclaration", + "scope": 40872, + "src": "8666:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8666:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40853, + "mutability": "mutable", + "name": "bitPos", + "nameLocation": "8685:6:57", + "nodeType": "VariableDeclaration", + "scope": 40872, + "src": "8680:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40852, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8680:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8665:27:57" + }, + "scope": 42106, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 40891, + "nodeType": "FunctionDefinition", + "src": "9081:210:57", + "nodes": [], + "body": { + "id": 40890, + "nodeType": "Block", + "src": "9230:61:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40886, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40876, + "src": "9259:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + { + "id": 40887, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40878, + "src": "9274:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40885, + "name": "_submitTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41048, + "src": "9243:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetTransfer_$49949_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata,bytes calldata) returns (uint256)" + } + }, + "id": 40888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9243:43:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 40884, + "id": 40889, + "nodeType": "Return", + "src": "9236:50:57" + } + ] + }, + "baseFunctions": [ + 50020 + ], + "documentation": { + "id": 40873, + "nodeType": "StructuredDocumentation", + "src": "8849:229:57", + "text": " @notice Transfer an amount from one account to another for a specific (asset, subId)\n @param assetTransfer (fromAcc, toAcc, asset, subId, amount)\n @param managerData data passed to managers of both accounts" + }, + "functionSelector": "ad1f3ff8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 40881, + "kind": "modifierInvocation", + "modifierName": { + "id": 40880, + "name": "nonReentrant", + "nameLocations": [ + "9188:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30365, + "src": "9188:12:57" + }, + "nodeType": "ModifierInvocation", + "src": "9188:12:57" + } + ], + "name": "submitTransfer", + "nameLocation": "9090:14:57", + "parameters": { + "id": 40879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40876, + "mutability": "mutable", + "name": "assetTransfer", + "nameLocation": "9128:13:57", + "nodeType": "VariableDeclaration", + "scope": 40891, + "src": "9105:36:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + }, + "typeName": { + "id": 40875, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40874, + "name": "AssetTransfer", + "nameLocations": [ + "9105:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "9105:13:57" + }, + "referencedDeclaration": 49949, + "src": "9105:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40878, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "9158:11:57", + "nodeType": "VariableDeclaration", + "scope": 40891, + "src": "9143:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40877, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9143:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9104:66:57" + }, + "returnParameters": { + "id": 40884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40883, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "9219:7:57", + "nodeType": "VariableDeclaration", + "scope": 40891, + "src": "9214:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40882, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9214:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9213:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40911, + "nodeType": "FunctionDefinition", + "src": "9630:216:57", + "nodes": [], + "body": { + "id": 40910, + "nodeType": "Block", + "src": "9783:63:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40906, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40896, + "src": "9813:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + { + "id": 40907, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40898, + "src": "9829:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40905, + "name": "_submitTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41247, + "src": "9796:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata[] calldata,bytes calldata) returns (uint256)" + } + }, + "id": 40908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9796:45:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 40904, + "id": 40909, + "nodeType": "Return", + "src": "9789:52:57" + } + ] + }, + "baseFunctions": [ + 50032 + ], + "documentation": { + "id": 40892, + "nodeType": "StructuredDocumentation", + "src": "9295:332:57", + "text": " @notice Batch several transfers\n Gas efficient when modifying the same account several times,\n as _managerHook() is only performed once per account\n @param assetTransfers array of (fromAcc, toAcc, asset, subId, amount)\n @param managerData data passed to every manager involved in trade" + }, + "functionSelector": "58e106d5", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 40901, + "kind": "modifierInvocation", + "modifierName": { + "id": 40900, + "name": "nonReentrant", + "nameLocations": [ + "9741:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30365, + "src": "9741:12:57" + }, + "nodeType": "ModifierInvocation", + "src": "9741:12:57" + } + ], + "name": "submitTransfers", + "nameLocation": "9639:15:57", + "parameters": { + "id": 40899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40896, + "mutability": "mutable", + "name": "assetTransfers", + "nameLocation": "9680:14:57", + "nodeType": "VariableDeclaration", + "scope": 40911, + "src": "9655:39:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + }, + "typeName": { + "baseType": { + "id": 40894, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40893, + "name": "AssetTransfer", + "nameLocations": [ + "9655:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "9655:13:57" + }, + "referencedDeclaration": 49949, + "src": "9655:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "id": 40895, + "nodeType": "ArrayTypeName", + "src": "9655:15:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40898, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "9711:11:57", + "nodeType": "VariableDeclaration", + "scope": 40911, + "src": "9696:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40897, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9696:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9654:69:57" + }, + "returnParameters": { + "id": 40904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40903, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "9772:7:57", + "nodeType": "VariableDeclaration", + "scope": 40911, + "src": "9767:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40902, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9767:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9766:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40940, + "nodeType": "FunctionDefinition", + "src": "10241:334:57", + "nodes": [], + "body": { + "id": 40939, + "nodeType": "Block", + "src": "10473:102:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 40930, + "name": "allowancePermit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40920, + "src": "10487:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + { + "id": 40931, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40922, + "src": "10504:9:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40929, + "name": "_permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40803, + "src": "10479:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitAllowance_$47720_calldata_ptr_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct IAllowances.PermitAllowance calldata,bytes calldata)" + } + }, + "id": 40932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10479:35:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40933, + "nodeType": "ExpressionStatement", + "src": "10479:35:57" + }, + { + "expression": { + "arguments": [ + { + "id": 40935, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40915, + "src": "10543:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + { + "id": 40936, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40917, + "src": "10558:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40934, + "name": "_submitTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41048, + "src": "10527:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetTransfer_$49949_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata,bytes calldata) returns (uint256)" + } + }, + "id": 40937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10527:43:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 40928, + "id": 40938, + "nodeType": "Return", + "src": "10520:50:57" + } + ] + }, + "documentation": { + "id": 40912, + "nodeType": "StructuredDocumentation", + "src": "9850:388:57", + "text": " @notice Permit and transfer in a single transaction\n @param assetTransfer Detailed struct on transfer (fromAcc, toAcc, asset, subId, amount)\n @param managerData Data passed to managers of both accounts\n @param allowancePermit Detailed struct for permit (accountId, delegator allowance detail)\n @param signature ECDSA signature or EIP 1271 contract signature" + }, + "functionSelector": "4fc566ee", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 40925, + "kind": "modifierInvocation", + "modifierName": { + "id": 40924, + "name": "nonReentrant", + "nameLocations": [ + "10437:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30365, + "src": "10437:12:57" + }, + "nodeType": "ModifierInvocation", + "src": "10437:12:57" + } + ], + "name": "permitAndSubmitTransfer", + "nameLocation": "10250:23:57", + "parameters": { + "id": 40923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40915, + "mutability": "mutable", + "name": "assetTransfer", + "nameLocation": "10302:13:57", + "nodeType": "VariableDeclaration", + "scope": 40940, + "src": "10279:36:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + }, + "typeName": { + "id": 40914, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40913, + "name": "AssetTransfer", + "nameLocations": [ + "10279:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "10279:13:57" + }, + "referencedDeclaration": 49949, + "src": "10279:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40917, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "10336:11:57", + "nodeType": "VariableDeclaration", + "scope": 40940, + "src": "10321:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40916, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10321:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40920, + "mutability": "mutable", + "name": "allowancePermit", + "nameLocation": "10378:15:57", + "nodeType": "VariableDeclaration", + "scope": 40940, + "src": "10353:40:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance" + }, + "typeName": { + "id": 40919, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40918, + "name": "PermitAllowance", + "nameLocations": [ + "10353:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47720, + "src": "10353:15:57" + }, + "referencedDeclaration": 47720, + "src": "10353:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_storage_ptr", + "typeString": "struct IAllowances.PermitAllowance" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40922, + "mutability": "mutable", + "name": "signature", + "nameLocation": "10414:9:57", + "nodeType": "VariableDeclaration", + "scope": 40940, + "src": "10399:24:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40921, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10399:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10273:154:57" + }, + "returnParameters": { + "id": 40928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40927, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "10464:7:57", + "nodeType": "VariableDeclaration", + "scope": 40940, + "src": "10459:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40926, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10459:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10458:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 40988, + "nodeType": "FunctionDefinition", + "src": "10905:415:57", + "nodes": [], + "body": { + "id": 40987, + "nodeType": "Block", + "src": "11147:173:57", + "nodes": [], + "statements": [ + { + "body": { + "id": 40980, + "nodeType": "Block", + "src": "11200:58:57", + "statements": [ + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 40972, + "name": "allowancePermits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40951, + "src": "11216:16:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitAllowance_$47720_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata[] calldata" + } + }, + "id": 40974, + "indexExpression": { + "id": 40973, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40962, + "src": "11233:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11216:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + } + }, + { + "baseExpression": { + "id": 40975, + "name": "signatures", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40954, + "src": "11237:10:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 40977, + "indexExpression": { + "id": 40976, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40962, + "src": "11248:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11237:13:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40971, + "name": "_permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40803, + "src": "11208:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PermitAllowance_$47720_calldata_ptr_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (struct IAllowances.PermitAllowance calldata,bytes calldata)" + } + }, + "id": 40978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11208:43:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40979, + "nodeType": "ExpressionStatement", + "src": "11208:43:57" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 40967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 40964, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40962, + "src": "11166:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 40965, + "name": "allowancePermits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40951, + "src": "11170:16:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitAllowance_$47720_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance calldata[] calldata" + } + }, + "id": 40966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11187:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11170:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11166:27:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 40981, + "initializationExpression": { + "assignments": [ + 40962 + ], + "declarations": [ + { + "constant": false, + "id": 40962, + "mutability": "mutable", + "name": "i", + "nameLocation": "11163:1:57", + "nodeType": "VariableDeclaration", + "scope": 40981, + "src": "11158:6:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11158:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 40963, + "nodeType": "VariableDeclarationStatement", + "src": "11158:6:57" + }, + "loopExpression": { + "expression": { + "id": 40969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "11195:3:57", + "subExpression": { + "id": 40968, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40962, + "src": "11197:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 40970, + "nodeType": "ExpressionStatement", + "src": "11195:3:57" + }, + "nodeType": "ForStatement", + "src": "11153:105:57" + }, + { + "expression": { + "arguments": [ + { + "id": 40983, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40945, + "src": "11287:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + { + "id": 40984, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40947, + "src": "11303:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 40982, + "name": "_submitTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41247, + "src": "11270:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata[] calldata,bytes calldata) returns (uint256)" + } + }, + "id": 40985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11270:45:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 40960, + "id": 40986, + "nodeType": "Return", + "src": "11263:52:57" + } + ] + }, + "documentation": { + "id": 40941, + "nodeType": "StructuredDocumentation", + "src": "10579:323:57", + "text": " @notice Batch multiple permits and transfers\n @param assetTransfers Array of transfers to perform\n @param managerData Data passed to managers of both accounts\n @param allowancePermits Array of permit struct (accountId, delegator allowance detail)\n @param signatures Array of permit signatures" + }, + "functionSelector": "0b178300", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 40957, + "kind": "modifierInvocation", + "modifierName": { + "id": 40956, + "name": "nonReentrant", + "nameLocations": [ + "11111:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30365, + "src": "11111:12:57" + }, + "nodeType": "ModifierInvocation", + "src": "11111:12:57" + } + ], + "name": "permitAndSubmitTransfers", + "nameLocation": "10914:24:57", + "parameters": { + "id": 40955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40945, + "mutability": "mutable", + "name": "assetTransfers", + "nameLocation": "10969:14:57", + "nodeType": "VariableDeclaration", + "scope": 40988, + "src": "10944:39:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + }, + "typeName": { + "baseType": { + "id": 40943, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40942, + "name": "AssetTransfer", + "nameLocations": [ + "10944:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "10944:13:57" + }, + "referencedDeclaration": 49949, + "src": "10944:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "id": 40944, + "nodeType": "ArrayTypeName", + "src": "10944:15:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40947, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "11004:11:57", + "nodeType": "VariableDeclaration", + "scope": 40988, + "src": "10989:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40946, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10989:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40951, + "mutability": "mutable", + "name": "allowancePermits", + "nameLocation": "11048:16:57", + "nodeType": "VariableDeclaration", + "scope": 40988, + "src": "11021:43:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitAllowance_$47720_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IAllowances.PermitAllowance[]" + }, + "typeName": { + "baseType": { + "id": 40949, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40948, + "name": "PermitAllowance", + "nameLocations": [ + "11021:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47720, + "src": "11021:15:57" + }, + "referencedDeclaration": 47720, + "src": "11021:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PermitAllowance_$47720_storage_ptr", + "typeString": "struct IAllowances.PermitAllowance" + } + }, + "id": 40950, + "nodeType": "ArrayTypeName", + "src": "11021:17:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PermitAllowance_$47720_storage_$dyn_storage_ptr", + "typeString": "struct IAllowances.PermitAllowance[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40954, + "mutability": "mutable", + "name": "signatures", + "nameLocation": "11087:10:57", + "nodeType": "VariableDeclaration", + "scope": 40988, + "src": "11070:27:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 40952, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11070:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 40953, + "nodeType": "ArrayTypeName", + "src": "11070:7:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "10938:163:57" + }, + "returnParameters": { + "id": 40960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40959, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "11138:7:57", + "nodeType": "VariableDeclaration", + "scope": 40988, + "src": "11133:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40958, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11133:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11132:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 41048, + "nodeType": "FunctionDefinition", + "src": "11570:656:57", + "nodes": [], + "body": { + "id": 41047, + "nodeType": "Block", + "src": "11703:523:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 41002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 40999, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40997, + "src": "11709:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "11719:13:57", + "subExpression": { + "id": 41000, + "name": "lastTradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40500, + "src": "11721:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11709:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41003, + "nodeType": "ExpressionStatement", + "src": "11709:23:57" + }, + { + "assignments": [ + 41005, + 41007 + ], + "declarations": [ + { + "constant": false, + "id": 41005, + "mutability": "mutable", + "name": "fromDelta", + "nameLocation": "11743:9:57", + "nodeType": "VariableDeclaration", + "scope": 41047, + "src": "11739:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41004, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11739:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41007, + "mutability": "mutable", + "name": "toDelta", + "nameLocation": "11758:7:57", + "nodeType": "VariableDeclaration", + "scope": 41047, + "src": "11754:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41006, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "11754:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 41012, + "initialValue": { + "arguments": [ + { + "id": 41009, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "11784:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + { + "id": 41010, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40997, + "src": "11799:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41008, + "name": "_transferAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41390, + "src": "11769:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetTransfer_$49949_calldata_ptr_$_t_uint256_$returns$_t_int256_$_t_int256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata,uint256) returns (int256,int256)" + } + }, + "id": 41011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11769:38:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$", + "typeString": "tuple(int256,int256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11738:69:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 41014, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "11833:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11847:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "11833:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41016, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40997, + "src": "11862:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41017, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11877:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11881:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11877:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41021, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "11939:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11953:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "11939:19:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41023, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "11960:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11974:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "11960:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41025, + "name": "fromDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41005, + "src": "11981:9:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 41019, + "name": "AssetDeltaLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50591, + "src": "11895:13:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AssetDeltaLib_$50591_$", + "typeString": "type(library AssetDeltaLib)" + } + }, + "id": 41020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11909:29:57", + "memberName": "getDeltasFromSingleAdjustment", + "nodeType": "MemberAccess", + "referencedDeclaration": 50590, + "src": "11895:43:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_contract$_IAsset_$47820_$_t_uint256_$_t_int256_$returns$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (contract IAsset,uint256,int256) pure returns (struct ISubAccounts.AssetDelta memory[] memory)" + } + }, + "id": 41026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11895:96:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + { + "id": 41027, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40994, + "src": "11999:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 41013, + "name": "_managerHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41671, + "src": "11813:12:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,address,struct ISubAccounts.AssetDelta memory[] memory,bytes memory)" + } + }, + "id": 41028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11813:203:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41029, + "nodeType": "ExpressionStatement", + "src": "11813:203:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 41031, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "12042:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12056:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "12042:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41033, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40997, + "src": "12069:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41034, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "12084:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12088:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12084:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41038, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "12146:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12160:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "12146:19:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41040, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40992, + "src": "12167:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12181:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "12167:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41042, + "name": "toDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41007, + "src": "12188:7:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 41036, + "name": "AssetDeltaLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50591, + "src": "12102:13:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AssetDeltaLib_$50591_$", + "typeString": "type(library AssetDeltaLib)" + } + }, + "id": 41037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12116:29:57", + "memberName": "getDeltasFromSingleAdjustment", + "nodeType": "MemberAccess", + "referencedDeclaration": 50590, + "src": "12102:43:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_contract$_IAsset_$47820_$_t_uint256_$_t_int256_$returns$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (contract IAsset,uint256,int256) pure returns (struct ISubAccounts.AssetDelta memory[] memory)" + } + }, + "id": 41043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12102:94:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + { + "id": 41044, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40994, + "src": "12204:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 41030, + "name": "_managerHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41671, + "src": "12022:12:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,address,struct ISubAccounts.AssetDelta memory[] memory,bytes memory)" + } + }, + "id": 41045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12022:199:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41046, + "nodeType": "ExpressionStatement", + "src": "12022:199:57" + } + ] + }, + "documentation": { + "id": 40989, + "nodeType": "StructuredDocumentation", + "src": "11324:243:57", + "text": " @notice Transfer an amount from one account to another for a specific (asset, subId)\n @param assetTransfer Detail struct (fromAcc, toAcc, asset, subId, amount)\n @param managerData Data passed to managers of both accounts" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_submitTransfer", + "nameLocation": "11579:15:57", + "parameters": { + "id": 40995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40992, + "mutability": "mutable", + "name": "assetTransfer", + "nameLocation": "11618:13:57", + "nodeType": "VariableDeclaration", + "scope": 41048, + "src": "11595:36:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + }, + "typeName": { + "id": 40991, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40990, + "name": "AssetTransfer", + "nameLocations": [ + "11595:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "11595:13:57" + }, + "referencedDeclaration": 49949, + "src": "11595:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 40994, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "11648:11:57", + "nodeType": "VariableDeclaration", + "scope": 41048, + "src": "11633:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 40993, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11633:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11594:66:57" + }, + "returnParameters": { + "id": 40998, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 40997, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "11692:7:57", + "nodeType": "VariableDeclaration", + "scope": 41048, + "src": "11687:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 40996, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11687:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11686:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41247, + "nodeType": "FunctionDefinition", + "src": "12565:1834:57", + "nodes": [], + "body": { + "id": 41246, + "nodeType": "Block", + "src": "12702:1697:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41064 + ], + "declarations": [ + { + "constant": false, + "id": 41064, + "mutability": "mutable", + "name": "seenAccounts", + "nameLocation": "12789:12:57", + "nodeType": "VariableDeclaration", + "scope": 41246, + "src": "12775:26:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 41062, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12775:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41063, + "nodeType": "ArrayTypeName", + "src": "12775:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 41073, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 41068, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "12815:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12830:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12815:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "32", + "id": 41070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12839:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "12815:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12804:10:57", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 41065, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12808:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41066, + "nodeType": "ArrayTypeName", + "src": "12808:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 41072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12804:37:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12775:66:57" + }, + { + "assignments": [ + 41078 + ], + "declarations": [ + { + "constant": false, + "id": 41078, + "mutability": "mutable", + "name": "assetDeltas", + "nameLocation": "13010:11:57", + "nodeType": "VariableDeclaration", + "scope": 41246, + "src": "12980:41:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache[]" + }, + "typeName": { + "baseType": { + "id": 41076, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41075, + "name": "AssetDeltaArrayCache", + "nameLocations": [ + "12980:20:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49927, + "src": "12980:20:57" + }, + "referencedDeclaration": 49927, + "src": "12980:20:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_storage_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache" + } + }, + "id": 41077, + "nodeType": "ArrayTypeName", + "src": "12980:22:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache[]" + } + }, + "visibility": "internal" + } + ], + "id": 41088, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 41083, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13051:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13066:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13051:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "32", + "id": 41085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13075:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "13051:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "13024:26:57", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct ISubAccounts.AssetDeltaArrayCache memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 41080, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41079, + "name": "AssetDeltaArrayCache", + "nameLocations": [ + "13028:20:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49927, + "src": "13028:20:57" + }, + "referencedDeclaration": 49927, + "src": "13028:20:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_storage_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache" + } + }, + "id": 41081, + "nodeType": "ArrayTypeName", + "src": "13028:22:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache[]" + } + } + }, + "id": 41087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13024:53:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12980:97:57" + }, + { + "assignments": [ + 41090 + ], + "declarations": [ + { + "constant": false, + "id": 41090, + "mutability": "mutable", + "name": "nextSeenId", + "nameLocation": "13089:10:57", + "nodeType": "VariableDeclaration", + "scope": 41246, + "src": "13084:15:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41089, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13084:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41092, + "initialValue": { + "hexValue": "30", + "id": 41091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13102:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13084:19:57" + }, + { + "expression": { + "id": 41096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41093, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41058, + "src": "13109:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "13119:13:57", + "subExpression": { + "id": 41094, + "name": "lastTradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40500, + "src": "13121:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13109:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41097, + "nodeType": "ExpressionStatement", + "src": "13109:23:57" + }, + { + "body": { + "id": 41210, + "nodeType": "Block", + "src": "13184:979:57", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 41120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 41108, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13196:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41110, + "indexExpression": { + "id": 41109, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13211:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13196:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13214:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "13196:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 41112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13225:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13196:30:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 41114, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13230:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41116, + "indexExpression": { + "id": 41115, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13245:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13230:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13248:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "13230:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 41118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13257:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13230:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13196:62:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41122, + "nodeType": "IfStatement", + "src": "13192:76:57", + "trueBody": { + "id": 41121, + "nodeType": "Continue", + "src": "13260:8:57" + } + }, + { + "assignments": [ + 41124, + 41126 + ], + "declarations": [ + { + "constant": false, + "id": 41124, + "mutability": "mutable", + "name": "fromIndex", + "nameLocation": "13363:9:57", + "nodeType": "VariableDeclaration", + "scope": 41210, + "src": "13358:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41123, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13358:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41126, + "mutability": "mutable", + "name": "toIndex", + "nameLocation": "13379:7:57", + "nodeType": "VariableDeclaration", + "scope": 41210, + "src": "13374:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41125, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13374:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41130, + "initialValue": { + "components": [ + { + "hexValue": "30", + "id": 41127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13391:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 41128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13394:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 41129, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13390:6:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(int_const 0,int_const 0)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13357:39:57" + }, + { + "expression": { + "id": 41143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41131, + "name": "nextSeenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41090, + "src": "13405:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41132, + "name": "fromIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41124, + "src": "13417:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 41133, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13404:23:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41136, + "name": "seenAccounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41064, + "src": "13476:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "expression": { + "baseExpression": { + "id": 41137, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13490:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41139, + "indexExpression": { + "id": 41138, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13505:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13490:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13508:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "13490:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41141, + "name": "nextSeenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41090, + "src": "13517:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 41134, + "name": "UnorderedMemoryArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26718, + "src": "13438:20:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UnorderedMemoryArray_$26718_$", + "typeString": "type(library UnorderedMemoryArray)" + } + }, + "id": 41135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13459:16:57", + "memberName": "addUniqueToArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 26556, + "src": "13438:37:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256[] memory,uint256,uint256) pure returns (uint256,uint256)" + } + }, + "id": 41142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13438:90:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "13404:124:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41144, + "nodeType": "ExpressionStatement", + "src": "13404:124:57" + }, + { + "expression": { + "id": 41157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41145, + "name": "nextSeenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41090, + "src": "13537:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41146, + "name": "toIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41126, + "src": "13549:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 41147, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13536:21:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41150, + "name": "seenAccounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41064, + "src": "13598:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "expression": { + "baseExpression": { + "id": 41151, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13612:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41153, + "indexExpression": { + "id": 41152, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13627:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13612:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13630:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "13612:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41155, + "name": "nextSeenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41090, + "src": "13637:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 41148, + "name": "UnorderedMemoryArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26718, + "src": "13560:20:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UnorderedMemoryArray_$26718_$", + "typeString": "type(library UnorderedMemoryArray)" + } + }, + "id": 41149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13581:16:57", + "memberName": "addUniqueToArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 26556, + "src": "13560:37:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256[] memory,uint256,uint256) pure returns (uint256,uint256)" + } + }, + "id": 41156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13560:88:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "13536:112:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41158, + "nodeType": "ExpressionStatement", + "src": "13536:112:57" + }, + { + "assignments": [ + 41160, + 41162 + ], + "declarations": [ + { + "constant": false, + "id": 41160, + "mutability": "mutable", + "name": "fromDelta", + "nameLocation": "13662:9:57", + "nodeType": "VariableDeclaration", + "scope": 41210, + "src": "13658:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41159, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13658:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41162, + "mutability": "mutable", + "name": "toDelta", + "nameLocation": "13677:7:57", + "nodeType": "VariableDeclaration", + "scope": 41210, + "src": "13673:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41161, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "13673:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 41169, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 41164, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13703:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41166, + "indexExpression": { + "id": 41165, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13718:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13703:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + { + "id": 41167, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41058, + "src": "13722:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41163, + "name": "_transferAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41390, + "src": "13688:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetTransfer_$49949_calldata_ptr_$_t_uint256_$returns$_t_int256_$_t_int256_$", + "typeString": "function (struct ISubAccounts.AssetTransfer calldata,uint256) returns (int256,int256)" + } + }, + "id": 41168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13688:42:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$", + "typeString": "tuple(int256,int256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13657:73:57" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 41175, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13855:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41177, + "indexExpression": { + "id": 41176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13870:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13855:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13873:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "13855:23:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 41181, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13894:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41183, + "indexExpression": { + "id": 41182, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13909:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13894:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13912:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "13894:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13887:6:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint96_$", + "typeString": "type(uint96)" + }, + "typeName": { + "id": 41179, + "name": "uint96", + "nodeType": "ElementaryTypeName", + "src": "13887:6:57", + "typeDescriptions": {} + } + }, + "id": 41185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13887:31:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + }, + { + "id": 41186, + "name": "fromDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41160, + "src": "13927:9:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 41174, + "name": "AssetDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49919, + "src": "13836:10:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AssetDelta_$49919_storage_ptr_$", + "typeString": "type(struct ISubAccounts.AssetDelta storage pointer)" + } + }, + "id": 41187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "13848:5:57", + "13880:5:57", + "13920:5:57" + ], + "names": [ + "asset", + "subId", + "delta" + ], + "nodeType": "FunctionCall", + "src": "13836:102:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDelta_$49919_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetDelta_$49919_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory" + } + ], + "expression": { + "baseExpression": { + "id": 41170, + "name": "assetDeltas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41078, + "src": "13783:11:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory[] memory" + } + }, + "id": 41172, + "indexExpression": { + "id": 41171, + "name": "fromIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41124, + "src": "13795:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13783:22:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory" + } + }, + "id": 41173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13806:20:57", + "memberName": "addToAssetDeltaArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 50497, + "src": "13783:43:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$_t_struct$_AssetDelta_$49919_memory_ptr_$returns$__$attached_to$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$", + "typeString": "function (struct ISubAccounts.AssetDeltaArrayCache memory,struct ISubAccounts.AssetDelta memory) pure" + } + }, + "id": 41188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13783:163:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41189, + "nodeType": "ExpressionStatement", + "src": "13783:163:57" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 41195, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "14067:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41197, + "indexExpression": { + "id": 41196, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "14082:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14067:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14085:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "14067:23:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 41201, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "14106:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41203, + "indexExpression": { + "id": 41202, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "14121:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14106:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14124:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "14106:23:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14099:6:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint96_$", + "typeString": "type(uint96)" + }, + "typeName": { + "id": 41199, + "name": "uint96", + "nodeType": "ElementaryTypeName", + "src": "14099:6:57", + "typeDescriptions": {} + } + }, + "id": 41205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14099:31:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + }, + { + "id": 41206, + "name": "toDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41162, + "src": "14139:7:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 41194, + "name": "AssetDelta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49919, + "src": "14048:10:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AssetDelta_$49919_storage_ptr_$", + "typeString": "type(struct ISubAccounts.AssetDelta storage pointer)" + } + }, + "id": 41207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "14060:5:57", + "14092:5:57", + "14132:5:57" + ], + "names": [ + "asset", + "subId", + "delta" + ], + "nodeType": "FunctionCall", + "src": "14048:100:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDelta_$49919_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetDelta_$49919_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory" + } + ], + "expression": { + "baseExpression": { + "id": 41190, + "name": "assetDeltas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41078, + "src": "13997:11:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory[] memory" + } + }, + "id": 41192, + "indexExpression": { + "id": 41191, + "name": "toIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41126, + "src": "14009:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13997:20:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory" + } + }, + "id": 41193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14018:20:57", + "memberName": "addToAssetDeltaArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 50497, + "src": "13997:41:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$_t_struct$_AssetDelta_$49919_memory_ptr_$returns$__$attached_to$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$", + "typeString": "function (struct ISubAccounts.AssetDeltaArrayCache memory,struct ISubAccounts.AssetDelta memory) pure" + } + }, + "id": 41208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13997:159:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41209, + "nodeType": "ExpressionStatement", + "src": "13997:159:57" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41101, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13152:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 41102, + "name": "assetTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41053, + "src": "13156:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata[] calldata" + } + }, + "id": 41103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13171:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13156:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13152:25:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41211, + "initializationExpression": { + "assignments": [ + 41099 + ], + "declarations": [ + { + "constant": false, + "id": 41099, + "mutability": "mutable", + "name": "i", + "nameLocation": "13149:1:57", + "nodeType": "VariableDeclaration", + "scope": 41211, + "src": "13144:6:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41098, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13144:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41100, + "nodeType": "VariableDeclarationStatement", + "src": "13144:6:57" + }, + "loopExpression": { + "expression": { + "id": 41106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "13179:3:57", + "subExpression": { + "id": 41105, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41099, + "src": "13181:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41107, + "nodeType": "ExpressionStatement", + "src": "13179:3:57" + }, + "nodeType": "ForStatement", + "src": "13139:1024:57" + }, + { + "body": { + "id": 41244, + "nodeType": "Block", + "src": "14203:192:57", + "statements": [ + { + "assignments": [ + 41225 + ], + "declarations": [ + { + "constant": false, + "id": 41225, + "mutability": "mutable", + "name": "nonEmptyDeltas", + "nameLocation": "14231:14:57", + "nodeType": "VariableDeclaration", + "scope": 41244, + "src": "14211:34:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta[]" + }, + "typeName": { + "baseType": { + "id": 41223, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41222, + "name": "AssetDelta", + "nameLocations": [ + "14211:10:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49919, + "src": "14211:10:57" + }, + "referencedDeclaration": 49919, + "src": "14211:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDelta_$49919_storage_ptr", + "typeString": "struct ISubAccounts.AssetDelta" + } + }, + "id": 41224, + "nodeType": "ArrayTypeName", + "src": "14211:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetDelta[]" + } + }, + "visibility": "internal" + } + ], + "id": 41232, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 41228, + "name": "assetDeltas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41078, + "src": "14286:11:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory[] memory" + } + }, + "id": 41230, + "indexExpression": { + "id": 41229, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41213, + "src": "14298:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14286:14:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetDeltaArrayCache_$49927_memory_ptr", + "typeString": "struct ISubAccounts.AssetDeltaArrayCache memory" + } + ], + "expression": { + "id": 41226, + "name": "AssetDeltaLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50591, + "src": "14248:13:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AssetDeltaLib_$50591_$", + "typeString": "type(library AssetDeltaLib)" + } + }, + "id": 41227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14262:23:57", + "memberName": "getDeltasFromArrayCache", + "nodeType": "MemberAccess", + "referencedDeclaration": 50546, + "src": "14248:37:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_AssetDeltaArrayCache_$49927_memory_ptr_$returns$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (struct ISubAccounts.AssetDeltaArrayCache memory) pure returns (struct ISubAccounts.AssetDelta memory[] memory)" + } + }, + "id": 41231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14248:53:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14211:90:57" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 41234, + "name": "seenAccounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41064, + "src": "14322:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 41236, + "indexExpression": { + "id": 41235, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41213, + "src": "14335:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14322:15:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41237, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41058, + "src": "14339:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41238, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14348:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14352:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14348:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 41240, + "name": "nonEmptyDeltas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41225, + "src": "14360:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + { + "id": 41241, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41055, + "src": "14376:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 41233, + "name": "_managerHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41671, + "src": "14309:12:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,address,struct ISubAccounts.AssetDelta memory[] memory,bytes memory)" + } + }, + "id": 41242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14309:79:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41243, + "nodeType": "ExpressionStatement", + "src": "14309:79:57" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41215, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41213, + "src": "14182:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 41216, + "name": "nextSeenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41090, + "src": "14186:10:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14182:14:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41245, + "initializationExpression": { + "assignments": [ + 41213 + ], + "declarations": [ + { + "constant": false, + "id": 41213, + "mutability": "mutable", + "name": "i", + "nameLocation": "14179:1:57", + "nodeType": "VariableDeclaration", + "scope": 41245, + "src": "14174:6:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41212, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14174:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41214, + "nodeType": "VariableDeclarationStatement", + "src": "14174:6:57" + }, + "loopExpression": { + "expression": { + "id": 41219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14198:3:57", + "subExpression": { + "id": 41218, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41213, + "src": "14198:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41220, + "nodeType": "ExpressionStatement", + "src": "14198:3:57" + }, + "nodeType": "ForStatement", + "src": "14169:226:57" + } + ] + }, + "documentation": { + "id": 41049, + "nodeType": "StructuredDocumentation", + "src": "12230:332:57", + "text": " @notice Batch several transfers\n Gas efficient when modifying the same account several times,\n as _managerHook() is only performed once per account\n @param assetTransfers Array of (fromAcc, toAcc, asset, subId, amount)\n @param managerData Data passed to every manager involved in trade" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_submitTransfers", + "nameLocation": "12574:16:57", + "parameters": { + "id": 41056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41053, + "mutability": "mutable", + "name": "assetTransfers", + "nameLocation": "12616:14:57", + "nodeType": "VariableDeclaration", + "scope": 41247, + "src": "12591:39:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + }, + "typeName": { + "baseType": { + "id": 41051, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41050, + "name": "AssetTransfer", + "nameLocations": [ + "12591:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "12591:13:57" + }, + "referencedDeclaration": 49949, + "src": "12591:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "id": 41052, + "nodeType": "ArrayTypeName", + "src": "12591:15:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetTransfer_$49949_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41055, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "12647:11:57", + "nodeType": "VariableDeclaration", + "scope": 41247, + "src": "12632:26:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 41054, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12632:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12590:69:57" + }, + "returnParameters": { + "id": 41059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41058, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "12691:7:57", + "nodeType": "VariableDeclaration", + "scope": 41247, + "src": "12686:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12686:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12685:14:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41390, + "nodeType": "FunctionDefinition", + "src": "14716:1719:57", + "nodes": [], + "body": { + "id": 41389, + "nodeType": "Block", + "src": "14848:1587:57", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 41260, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "14858:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14872:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "14858:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 41262, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "14883:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14897:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "14883:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14858:44:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41273, + "nodeType": "IfStatement", + "src": "14854:136:57", + "trueBody": { + "id": 41272, + "nodeType": "Block", + "src": "14904:86:57", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "id": 41266, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "14951:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14955:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14951:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 41268, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "14963:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14977:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "14963:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41265, + "name": "AC_CannotTransferAssetToOneself", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50213, + "src": "14919:31:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) pure" + } + }, + "id": 41270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14919:64:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41271, + "nodeType": "RevertStatement", + "src": "14912:71:57" + } + ] + } + }, + { + "assignments": [ + 41276 + ], + "declarations": [ + { + "constant": false, + "id": 41276, + "mutability": "mutable", + "name": "fromAccAdjustment", + "nameLocation": "15019:17:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "14996:40:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41274, + "name": "AssetAdjustment", + "nameLocations": [ + "14996:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "14996:15:57" + }, + "referencedDeclaration": 49961, + "src": "14996:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + } + ], + "id": 41290, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 41278, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15068:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15082:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "15068:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41280, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15104:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15118:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "15104:19:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41282, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15138:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15152:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "15138:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "15173:21:57", + "subExpression": { + "expression": { + "id": 41284, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15174:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15188:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49946, + "src": "15174:20:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "id": 41287, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15213:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15227:9:57", + "memberName": "assetData", + "nodeType": "MemberAccess", + "referencedDeclaration": 49948, + "src": "15213:23:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 41277, + "name": "AssetAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49961, + "src": "15039:15:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AssetAdjustment_$49961_storage_ptr_$", + "typeString": "type(struct ISubAccounts.AssetAdjustment storage pointer)" + } + }, + "id": 41289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "15063:3:57", + "15097:5:57", + "15131:5:57", + "15165:6:57", + "15202:9:57" + ], + "names": [ + "acc", + "asset", + "subId", + "amount", + "assetData" + ], + "nodeType": "FunctionCall", + "src": "15039:204:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14996:247:57" + }, + { + "assignments": [ + 41293 + ], + "declarations": [ + { + "constant": false, + "id": 41293, + "mutability": "mutable", + "name": "toAccAdjustment", + "nameLocation": "15273:15:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "15250:38:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41292, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41291, + "name": "AssetAdjustment", + "nameLocations": [ + "15250:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "15250:15:57" + }, + "referencedDeclaration": 49961, + "src": "15250:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + } + ], + "id": 41306, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 41295, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15320:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15334:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "15320:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41297, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15354:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15368:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "15354:19:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41299, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15388:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15402:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "15388:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41301, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15423:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15437:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49946, + "src": "15423:20:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "id": 41303, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "15462:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15476:9:57", + "memberName": "assetData", + "nodeType": "MemberAccess", + "referencedDeclaration": 49948, + "src": "15462:23:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 41294, + "name": "AssetAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49961, + "src": "15291:15:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AssetAdjustment_$49961_storage_ptr_$", + "typeString": "type(struct ISubAccounts.AssetAdjustment storage pointer)" + } + }, + "id": 41305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "15315:3:57", + "15347:5:57", + "15381:5:57", + "15415:6:57", + "15451:9:57" + ], + "names": [ + "acc", + "asset", + "subId", + "amount", + "assetData" + ], + "nodeType": "FunctionCall", + "src": "15291:201:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15250:242:57" + }, + { + "assignments": [ + null, + 41308, + 41310 + ], + "declarations": [ + null, + { + "constant": false, + "id": 41308, + "mutability": "mutable", + "name": "fromDelta_", + "nameLocation": "15553:10:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "15549:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41307, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "15549:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41310, + "mutability": "mutable", + "name": "fromAdjustmentNeedAllowance", + "nameLocation": "15570:27:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "15565:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41309, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15565:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 41316, + "initialValue": { + "arguments": [ + { + "id": 41312, + "name": "fromAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41276, + "src": "15616:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41313, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41253, + "src": "15635:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 41314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15644:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 41311, + "name": "_adjustBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41643, + "src": "15601:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_bool_$returns$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,bool) returns (int256,int256,bool)" + } + }, + "id": 41315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15601:48:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,int256,bool)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15546:103:57" + }, + { + "assignments": [ + null, + 41318, + 41320 + ], + "declarations": [ + null, + { + "constant": false, + "id": 41318, + "mutability": "mutable", + "name": "toDelta_", + "nameLocation": "15662:8:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "15658:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41317, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "15658:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41320, + "mutability": "mutable", + "name": "toAdjustmentNeedAllowance", + "nameLocation": "15677:25:57", + "nodeType": "VariableDeclaration", + "scope": 41389, + "src": "15672:30:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41319, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15672:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 41326, + "initialValue": { + "arguments": [ + { + "id": 41322, + "name": "toAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41293, + "src": "15721:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41323, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41253, + "src": "15738:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 41324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15747:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 41321, + "name": "_adjustBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41643, + "src": "15706:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_bool_$returns$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,bool) returns (int256,int256,bool)" + } + }, + "id": 41325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15706:46:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,int256,bool)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15655:97:57" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 41335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41327, + "name": "fromAdjustmentNeedAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41310, + "src": "15816:27:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 41334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "15847:54:57", + "subExpression": { + "arguments": [ + { + "expression": { + "id": 41329, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15867:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15871:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15867:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 41331, + "name": "fromAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41276, + "src": "15879:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15897:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "15879:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41328, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 42035 + ], + "referencedDeclaration": 42035, + "src": "15848:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 41333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15848:53:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15816:85:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41347, + "nodeType": "IfStatement", + "src": "15812:184:57", + "trueBody": { + "id": 41346, + "nodeType": "Block", + "src": "15903:93:57", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 41337, + "name": "fromAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41276, + "src": "15927:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41339, + "name": "fromAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41276, + "src": "15954:17:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15972:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "15954:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41338, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "15946:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 41341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15946:30:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 41342, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "15978:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15982:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15978:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 41336, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40039, + "src": "15911:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_address_$_t_address_$returns$__$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,address,address)" + } + }, + "id": 41344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15911:78:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41345, + "nodeType": "ExpressionStatement", + "src": "15911:78:57" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 41356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41348, + "name": "toAdjustmentNeedAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41320, + "src": "16005:25:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 41355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16034:52:57", + "subExpression": { + "arguments": [ + { + "expression": { + "id": 41350, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16054:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16058:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16054:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 41352, + "name": "toAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41293, + "src": "16066:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16082:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "16066:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41349, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 42035 + ], + "referencedDeclaration": 42035, + "src": "16035:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 41354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16035:51:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16005:81:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41368, + "nodeType": "IfStatement", + "src": "16001:176:57", + "trueBody": { + "id": 41367, + "nodeType": "Block", + "src": "16088:89:57", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 41358, + "name": "toAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41293, + "src": "16112:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41360, + "name": "toAccAdjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41293, + "src": "16137:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16153:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "16137:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41359, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "16129:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 41362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16129:28:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 41363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "16159:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16163:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16159:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 41357, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40039, + "src": "16096:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_address_$_t_address_$returns$__$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,address,address)" + } + }, + "id": 41365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16096:74:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41366, + "nodeType": "ExpressionStatement", + "src": "16096:74:57" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 41370, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16212:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16226:7:57", + "memberName": "fromAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49937, + "src": "16212:21:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41372, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16241:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16255:5:57", + "memberName": "toAcc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49939, + "src": "16241:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41374, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16268:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16282:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49942, + "src": "16268:19:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41376, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16295:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16309:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49944, + "src": "16295:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41378, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16322:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16336:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49946, + "src": "16322:20:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "id": 41380, + "name": "assetTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41251, + "src": "16350:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer calldata" + } + }, + "id": 41381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16364:9:57", + "memberName": "assetData", + "nodeType": "MemberAccess", + "referencedDeclaration": 49948, + "src": "16350:23:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 41382, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41253, + "src": "16381:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41369, + "name": "AssetTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50171, + "src": "16188:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IAsset_$47820_$_t_uint256_$_t_int256_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,contract IAsset,uint256,int256,bytes32,uint256)" + } + }, + "id": 41383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16188:206:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41384, + "nodeType": "EmitStatement", + "src": "16183:211:57" + }, + { + "expression": { + "components": [ + { + "id": 41385, + "name": "fromDelta_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41308, + "src": "16409:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41386, + "name": "toDelta_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41318, + "src": "16421:8:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "id": 41387, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16408:22:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$", + "typeString": "tuple(int256,int256)" + } + }, + "functionReturnParameters": 41259, + "id": 41388, + "nodeType": "Return", + "src": "16401:29:57" + } + ] + }, + "documentation": { + "id": 41248, + "nodeType": "StructuredDocumentation", + "src": "14403:310:57", + "text": " @notice Transfer an amount from one account to another for a specific (asset, subId)\n @dev update the allowance and balanceAndOrder storage\n @param assetTransfer (fromAcc, toAcc, asset, subId, amount)\n @param tradeId a shared id for both asset and manager hooks within a same call" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferAsset", + "nameLocation": "14725:14:57", + "parameters": { + "id": 41254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41251, + "mutability": "mutable", + "name": "assetTransfer", + "nameLocation": "14763:13:57", + "nodeType": "VariableDeclaration", + "scope": 41390, + "src": "14740:36:57", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_calldata_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + }, + "typeName": { + "id": 41250, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41249, + "name": "AssetTransfer", + "nameLocations": [ + "14740:13:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49949, + "src": "14740:13:57" + }, + "referencedDeclaration": 49949, + "src": "14740:13:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetTransfer_$49949_storage_ptr", + "typeString": "struct ISubAccounts.AssetTransfer" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41253, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "14783:7:57", + "nodeType": "VariableDeclaration", + "scope": 41390, + "src": "14778:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41252, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14778:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14739:52:57" + }, + "returnParameters": { + "id": 41259, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41256, + "mutability": "mutable", + "name": "fromDelta", + "nameLocation": "14822:9:57", + "nodeType": "VariableDeclaration", + "scope": 41390, + "src": "14818:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41255, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "14818:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41258, + "mutability": "mutable", + "name": "toDelta", + "nameLocation": "14837:7:57", + "nodeType": "VariableDeclaration", + "scope": 41390, + "src": "14833:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41257, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "14833:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "14817:28:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41418, + "nodeType": "FunctionDefinition", + "src": "16637:310:57", + "nodes": [], + "body": { + "id": 41417, + "nodeType": "Block", + "src": "16786:161:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41404 + ], + "declarations": [ + { + "constant": false, + "id": 41404, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "16797:7:57", + "nodeType": "VariableDeclaration", + "scope": 41417, + "src": "16792:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41403, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16792:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41407, + "initialValue": { + "id": 41406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "16807:13:57", + "subExpression": { + "id": 41405, + "name": "lastTradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40500, + "src": "16809:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16792:28:57" + }, + { + "expression": { + "id": 41415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41408, + "name": "postAdjustmentBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41401, + "src": "16874:21:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + null, + null + ], + "id": 41409, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "16873:25:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$__$__$", + "typeString": "tuple(int256,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41411, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41394, + "src": "16916:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41412, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41404, + "src": "16928:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 41413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16937:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 41410, + "name": "_adjustBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41643, + "src": "16901:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_bool_$returns$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,bool) returns (int256,int256,bool)" + } + }, + "id": 41414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16901:41:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,int256,bool)" + } + }, + "src": "16873:69:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41416, + "nodeType": "ExpressionStatement", + "src": "16873:69:57" + } + ] + }, + "baseFunctions": [ + 50054 + ], + "documentation": { + "id": 41391, + "nodeType": "StructuredDocumentation", + "src": "16439:195:57", + "text": " @notice Assymetric balance adjustment reserved for managers\n Must still pass both _assetHook()\n @param adjustment assymetric adjustment of amount for (asset, subId)" + }, + "functionSelector": "b99b4533", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 41397, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41394, + "src": "16728:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16739:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "16728:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 41399, + "kind": "modifierInvocation", + "modifierName": { + "id": 41396, + "name": "onlyManager", + "nameLocations": [ + "16716:11:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 42087, + "src": "16716:11:57" + }, + "nodeType": "ModifierInvocation", + "src": "16716:27:57" + } + ], + "name": "managerAdjustment", + "nameLocation": "16646:17:57", + "parameters": { + "id": 41395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41394, + "mutability": "mutable", + "name": "adjustment", + "nameLocation": "16687:10:57", + "nodeType": "VariableDeclaration", + "scope": 41418, + "src": "16664:33:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41393, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41392, + "name": "AssetAdjustment", + "nameLocations": [ + "16664:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "16664:15:57" + }, + "referencedDeclaration": 49961, + "src": "16664:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + } + ], + "src": "16663:35:57" + }, + "returnParameters": { + "id": 41402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41401, + "mutability": "mutable", + "name": "postAdjustmentBalance", + "nameLocation": "16761:21:57", + "nodeType": "VariableDeclaration", + "scope": 41418, + "src": "16757:25:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41400, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "16757:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "16756:27:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 41471, + "nodeType": "FunctionDefinition", + "src": "17300:613:57", + "nodes": [], + "body": { + "id": 41470, + "nodeType": "Block", + "src": "17496:417:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41436 + ], + "declarations": [ + { + "constant": false, + "id": 41436, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "17507:7:57", + "nodeType": "VariableDeclaration", + "scope": 41470, + "src": "17502:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41435, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17502:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41439, + "initialValue": { + "id": 41438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "17517:13:57", + "subExpression": { + "id": 41437, + "name": "lastTradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40500, + "src": "17519:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17502:28:57" + }, + { + "assignments": [ + 41441 + ], + "declarations": [ + { + "constant": false, + "id": 41441, + "mutability": "mutable", + "name": "delta", + "nameLocation": "17618:5:57", + "nodeType": "VariableDeclaration", + "scope": 41470, + "src": "17614:9:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41440, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "17614:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 41442, + "nodeType": "VariableDeclarationStatement", + "src": "17614:9:57" + }, + { + "expression": { + "id": 41451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41443, + "name": "postAdjustmentBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41433, + "src": "17630:21:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41444, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41441, + "src": "17653:5:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + null + ], + "id": 41445, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "17629:31:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$__$", + "typeString": "tuple(int256,int256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41447, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41422, + "src": "17678:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41448, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41436, + "src": "17690:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41449, + "name": "triggerAssetHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41424, + "src": "17699:16:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 41446, + "name": "_adjustBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41643, + "src": "17663:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_bool_$returns$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,bool) returns (int256,int256,bool)" + } + }, + "id": 41450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17663:53:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,int256,bool)" + } + }, + "src": "17629:87:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41452, + "nodeType": "ExpressionStatement", + "src": "17629:87:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 41454, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41422, + "src": "17742:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17753:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "17742:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41456, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41436, + "src": "17764:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41457, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "17779:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17783:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "17779:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41461, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41422, + "src": "17841:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41462, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17852:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "17841:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41463, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41422, + "src": "17859:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17870:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49956, + "src": "17859:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41465, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41441, + "src": "17877:5:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 41459, + "name": "AssetDeltaLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50591, + "src": "17797:13:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AssetDeltaLib_$50591_$", + "typeString": "type(library AssetDeltaLib)" + } + }, + "id": 41460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17811:29:57", + "memberName": "getDeltasFromSingleAdjustment", + "nodeType": "MemberAccess", + "referencedDeclaration": 50590, + "src": "17797:43:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_contract$_IAsset_$47820_$_t_uint256_$_t_int256_$returns$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (contract IAsset,uint256,int256) pure returns (struct ISubAccounts.AssetDelta memory[] memory)" + } + }, + "id": 41466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17797:86:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + { + "id": 41467, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41426, + "src": "17891:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 41453, + "name": "_managerHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41671, + "src": "17722:12:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,address,struct ISubAccounts.AssetDelta memory[] memory,bytes memory)" + } + }, + "id": 41468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17722:186:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41469, + "nodeType": "ExpressionStatement", + "src": "17722:186:57" + } + ] + }, + "baseFunctions": [ + 50045 + ], + "documentation": { + "id": 41419, + "nodeType": "StructuredDocumentation", + "src": "16951:346:57", + "text": " @notice Asymmetric balance adjustment reserved for assets\n Must still pass both _managerHook()\n @param adjustment asymmetric adjustment of amount for (asset, subId)\n @param triggerAssetHook true if the adjustment need to be routed to Asset's custom hook\n @param managerData data passed to manager of account" + }, + "functionSelector": "8c9a76d7", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 41429, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41422, + "src": "17436:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17447:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "17436:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + } + ], + "id": 41431, + "kind": "modifierInvocation", + "modifierName": { + "id": 41428, + "name": "onlyAsset", + "nameLocations": [ + "17426:9:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 42105, + "src": "17426:9:57" + }, + "nodeType": "ModifierInvocation", + "src": "17426:27:57" + } + ], + "name": "assetAdjustment", + "nameLocation": "17309:15:57", + "parameters": { + "id": 41427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41422, + "mutability": "mutable", + "name": "adjustment", + "nameLocation": "17348:10:57", + "nodeType": "VariableDeclaration", + "scope": 41471, + "src": "17325:33:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41421, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41420, + "name": "AssetAdjustment", + "nameLocations": [ + "17325:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "17325:15:57" + }, + "referencedDeclaration": 49961, + "src": "17325:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41424, + "mutability": "mutable", + "name": "triggerAssetHook", + "nameLocation": "17365:16:57", + "nodeType": "VariableDeclaration", + "scope": 41471, + "src": "17360:21:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41423, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17360:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41426, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "17396:11:57", + "nodeType": "VariableDeclaration", + "scope": 41471, + "src": "17383:24:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 41425, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17383:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "17324:84:57" + }, + "returnParameters": { + "id": 41434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41433, + "mutability": "mutable", + "name": "postAdjustmentBalance", + "nameLocation": "17471:21:57", + "nodeType": "VariableDeclaration", + "scope": 41471, + "src": "17467:25:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41432, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "17467:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "17466:27:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 41643, + "nodeType": "FunctionDefinition", + "src": "18407:1489:57", + "nodes": [], + "body": { + "id": 41642, + "nodeType": "Block", + "src": "18574:1322:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41490 + ], + "declarations": [ + { + "constant": false, + "id": 41490, + "mutability": "mutable", + "name": "userBalanceAndOrder", + "nameLocation": "18604:19:57", + "nodeType": "VariableDeclaration", + "scope": 41642, + "src": "18580:43:57", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + }, + "typeName": { + "id": 41489, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41488, + "name": "BalanceAndOrder", + "nameLocations": [ + "18580:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49905, + "src": "18580:15:57" + }, + "referencedDeclaration": 49905, + "src": "18580:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + } + }, + "visibility": "internal" + } + ], + "id": 41501, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 41491, + "name": "balanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40517, + "src": "18626:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)))" + } + }, + "id": 41494, + "indexExpression": { + "expression": { + "id": 41492, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "18642:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41493, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18653:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "18642:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18626:31:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$", + "typeString": "mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref))" + } + }, + "id": 41497, + "indexExpression": { + "expression": { + "id": 41495, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "18658:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18669:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "18658:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18626:49:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)" + } + }, + "id": 41500, + "indexExpression": { + "expression": { + "id": 41498, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "18676:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18687:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49956, + "src": "18676:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18626:67:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage", + "typeString": "struct ISubAccounts.BalanceAndOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18580:113:57" + }, + { + "expression": { + "id": 41507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 41502, + "name": "lastAccountTradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40536, + "src": "18699:18:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 41505, + "indexExpression": { + "expression": { + "id": 41503, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "18718:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41504, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18729:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "18718:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18699:34:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41506, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41477, + "src": "18736:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18699:44:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41508, + "nodeType": "ExpressionStatement", + "src": "18699:44:57" + }, + { + "assignments": [ + 41510 + ], + "declarations": [ + { + "constant": false, + "id": 41510, + "mutability": "mutable", + "name": "preBalance", + "nameLocation": "18754:10:57", + "nodeType": "VariableDeclaration", + "scope": 41642, + "src": "18750:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41509, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "18750:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 41516, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 41513, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41490, + "src": "18771:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder storage pointer" + } + }, + "id": 41514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18791:7:57", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 49902, + "src": "18771:27:57", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + ], + "id": 41512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18767:3:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 41511, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "18767:3:57", + "typeDescriptions": {} + } + }, + "id": 41515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18767:32:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18750:49:57" + }, + { + "condition": { + "id": 41517, + "name": "triggerHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41479, + "src": "18870:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 41556, + "nodeType": "Block", + "src": "19030:223:57", + "statements": [ + { + "expression": { + "id": 41542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41537, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "19038:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41538, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "19052:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 41539, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19065:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19076:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49958, + "src": "19065:17:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "19052:30:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "19038:44:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 41543, + "nodeType": "ExpressionStatement", + "src": "19038:44:57" + }, + { + "expression": { + "id": 41547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41544, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41484, + "src": "19090:5:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 41545, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19098:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41546, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19109:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49958, + "src": "19098:17:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "19090:25:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 41548, + "nodeType": "ExpressionStatement", + "src": "19090:25:57" + }, + { + "expression": { + "id": 41554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41549, + "name": "needAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41486, + "src": "19209:13:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 41550, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19225:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19236:6:57", + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 49958, + "src": "19225:17:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "30", + "id": 41552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19245:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19225:21:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19209:37:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41555, + "nodeType": "ExpressionStatement", + "src": "19209:37:57" + } + ] + }, + "id": 41557, + "nodeType": "IfStatement", + "src": "18866:387:57", + "trueBody": { + "id": 41536, + "nodeType": "Block", + "src": "18883:141:57", + "statements": [ + { + "expression": { + "id": 41528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41518, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "18892:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41519, + "name": "needAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41486, + "src": "18905:13:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 41520, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "18891:28:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41522, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "18933:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41523, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41477, + "src": "18945:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41524, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "18954:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "id": 41525, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "18966:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18970:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18966:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 41521, + "name": "_assetHook", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41702, + "src": "18922:10:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_int256_$_t_address_$returns$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,int256,address) returns (int256,bool)" + } + }, + "id": 41527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18922:55:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,bool)" + } + }, + "src": "18891:86:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41529, + "nodeType": "ExpressionStatement", + "src": "18891:86:57" + }, + { + "expression": { + "id": 41534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41530, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41484, + "src": "18985:5:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41531, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "18993:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 41532, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "19007:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "18993:24:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "18985:32:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 41535, + "nodeType": "ExpressionStatement", + "src": "18985:32:57" + } + ] + } + }, + { + "expression": { + "id": 41564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 41558, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41490, + "src": "19259:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder storage pointer" + } + }, + "id": 41560, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "19279:7:57", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 49902, + "src": "19259:27:57", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 41561, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "19289:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 41562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19301:8:57", + "memberName": "toInt240", + "nodeType": "MemberAccess", + "referencedDeclaration": 36121, + "src": "19289:20:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_int240_$attached_to$_t_int256_$", + "typeString": "function (int256) pure returns (int240)" + } + }, + "id": 41563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19289:22:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "src": "19259:52:57", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + }, + "id": 41565, + "nodeType": "ExpressionStatement", + "src": "19259:52:57" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 41572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41566, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "19321:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 41567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19335:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19321:15:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41569, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "19340:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 41570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19355:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19340:16:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19321:35:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 41587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41581, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "19442:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 41582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19456:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19442:15:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 41586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41584, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "19461:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 41585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19476:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19461:16:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19442:35:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41602, + "nodeType": "IfStatement", + "src": "19438:149:57", + "trueBody": { + "id": 41601, + "nodeType": "Block", + "src": "19479:108:57", + "statements": [ + { + "expression": { + "id": 41599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 41588, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41490, + "src": "19487:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder storage pointer" + } + }, + "id": 41590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "19507:5:57", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 49904, + "src": "19487:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 41592, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19529:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19540:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "19529:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41594, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19545:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19556:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "19545:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "expression": { + "id": 41596, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19563:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19574:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49956, + "src": "19563:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41591, + "name": "_addHeldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41740, + "src": "19515:13:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_contract$_IAsset_$47820_$_t_uint256_$returns$_t_uint16_$", + "typeString": "function (uint256,contract IAsset,uint256) returns (uint16)" + } + }, + "id": 41598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19515:65:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "19487:93:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "id": 41600, + "nodeType": "ExpressionStatement", + "src": "19487:93:57" + } + ] + } + }, + "id": 41603, + "nodeType": "IfStatement", + "src": "19317:270:57", + "trueBody": { + "id": 41580, + "nodeType": "Block", + "src": "19358:74:57", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 41574, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19383:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19394:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "19383:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 41576, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41490, + "src": "19399:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder storage pointer" + } + }, + "id": 41577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19419:5:57", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 49904, + "src": "19399:25:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "id": 41573, + "name": "_removeHeldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41804, + "src": "19366:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint16_$returns$__$", + "typeString": "function (uint256,uint16)" + } + }, + "id": 41578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19366:59:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41579, + "nodeType": "ExpressionStatement", + "src": "19366:59:57" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 41605, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19621:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41606, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19632:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "19621:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "baseExpression": { + "id": 41609, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "19651:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 41612, + "indexExpression": { + "expression": { + "id": 41610, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19659:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41611, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19670:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "19659:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19651:23:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 41608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19643:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 41607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19643:7:57", + "typeDescriptions": {} + } + }, + "id": 41613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19643:32:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 41635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 41622, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19766:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19777:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "19766:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + ], + "id": 41621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19758:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 41620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19758:7:57", + "typeDescriptions": {} + } + }, + "id": 41624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19758:25:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 41619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19750:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 41618, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "19750:7:57", + "typeDescriptions": {} + } + }, + "id": 41625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19750:34:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 41617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19745:4:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 41616, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19745:4:57", + "typeDescriptions": {} + } + }, + "id": 41626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19745:40:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3936", + "id": 41627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19789:2:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_96_by_1", + "typeString": "int_const 96" + }, + "value": "96" + }, + "src": "19745:46:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19737:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 41614, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19737:7:57", + "typeDescriptions": {} + } + }, + "id": 41629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19737:55:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "arguments": [ + { + "expression": { + "id": 41632, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41475, + "src": "19803:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19814:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49956, + "src": "19803:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19795:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 41630, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19795:7:57", + "typeDescriptions": {} + } + }, + "id": 41634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19795:25:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19737:83:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 41636, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41484, + "src": "19828:5:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41637, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41510, + "src": "19841:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41638, + "name": "postBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41482, + "src": "19859:11:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "id": 41639, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41477, + "src": "19878:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41604, + "name": "BalanceAdjusted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50188, + "src": "19598:15:57", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$_t_int256_$_t_int256_$_t_int256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,bytes32,int256,int256,int256,uint256)" + } + }, + "id": 41640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19598:293:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41641, + "nodeType": "EmitStatement", + "src": "19593:298:57" + } + ] + }, + "documentation": { + "id": 41472, + "nodeType": "StructuredDocumentation", + "src": "17917:487:57", + "text": " @dev the order field is never set back to 0 to save on gas\n ensure balance != 0 when using the BalandAnceOrder.order field\n @param tradeId a shared id for both asset and manager hooks within a same call\n @param triggerHook whether this call should trigger asset hook\n @return postBalance the final balance after adjustment\n @return delta exact amount updated during the adjustment\n @return needAllowance whether this adjustment needs allowance" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_adjustBalance", + "nameLocation": "18416:14:57", + "parameters": { + "id": 41480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41475, + "mutability": "mutable", + "name": "adjustment", + "nameLocation": "18454:10:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18431:33:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41474, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41473, + "name": "AssetAdjustment", + "nameLocations": [ + "18431:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "18431:15:57" + }, + "referencedDeclaration": 49961, + "src": "18431:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41477, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "18471:7:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18466:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41476, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18466:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41479, + "mutability": "mutable", + "name": "triggerHook", + "nameLocation": "18485:11:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18480:16:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41478, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18480:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18430:67:57" + }, + "returnParameters": { + "id": 41487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41482, + "mutability": "mutable", + "name": "postBalance", + "nameLocation": "18528:11:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18524:15:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41481, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "18524:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41484, + "mutability": "mutable", + "name": "delta", + "nameLocation": "18545:5:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18541:9:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41483, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "18541:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41486, + "mutability": "mutable", + "name": "needAllowance", + "nameLocation": "18557:13:57", + "nodeType": "VariableDeclaration", + "scope": 41643, + "src": "18552:18:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41485, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18552:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18523:48:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41671, + "nodeType": "FunctionDefinition", + "src": "20425:250:57", + "nodes": [], + "body": { + "id": 41670, + "nodeType": "Block", + "src": "20580:95:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 41663, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41646, + "src": "20622:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41664, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41648, + "src": "20633:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41665, + "name": "caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41650, + "src": "20642:6:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 41666, + "name": "deltas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41654, + "src": "20650:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + } + }, + { + "id": 41667, + "name": "managerData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41656, + "src": "20658:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta memory[] memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "baseExpression": { + "id": 41659, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "20586:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 41661, + "indexExpression": { + "id": 41660, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41646, + "src": "20594:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20586:18:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + "id": 41662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20605:16:57", + "memberName": "handleAdjustment", + "nodeType": "MemberAccess", + "referencedDeclaration": 48928, + "src": "20586:35:57", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,uint256,address,struct ISubAccounts.AssetDelta memory[] memory,bytes memory) external" + } + }, + "id": 41668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20586:84:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41669, + "nodeType": "ExpressionStatement", + "src": "20586:84:57" + } + ] + }, + "documentation": { + "id": 41644, + "nodeType": "StructuredDocumentation", + "src": "19994:428:57", + "text": " @notice Hook that calls the manager once per account during:\n 1. Transfers\n 2. Assymetric balance adjustments from Assets\n @param accountId ID of account being checked\n @param tradeId a shared id for both asset and manager hooks within a same call\n @param caller address of msg.sender initiating balance adjustment\n @param managerData open ended data passed to manager" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_managerHook", + "nameLocation": "20434:12:57", + "parameters": { + "id": 41657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41646, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "20457:9:57", + "nodeType": "VariableDeclaration", + "scope": 41671, + "src": "20452:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41645, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20452:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41648, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "20477:7:57", + "nodeType": "VariableDeclaration", + "scope": 41671, + "src": "20472:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41647, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20472:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41650, + "mutability": "mutable", + "name": "caller", + "nameLocation": "20498:6:57", + "nodeType": "VariableDeclaration", + "scope": 41671, + "src": "20490:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 41649, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20490:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41654, + "mutability": "mutable", + "name": "deltas", + "nameLocation": "20530:6:57", + "nodeType": "VariableDeclaration", + "scope": 41671, + "src": "20510:26:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetDelta[]" + }, + "typeName": { + "baseType": { + "id": 41652, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41651, + "name": "AssetDelta", + "nameLocations": [ + "20510:10:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49919, + "src": "20510:10:57" + }, + "referencedDeclaration": 49919, + "src": "20510:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetDelta_$49919_storage_ptr", + "typeString": "struct ISubAccounts.AssetDelta" + } + }, + "id": 41653, + "nodeType": "ArrayTypeName", + "src": "20510:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetDelta_$49919_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetDelta[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41656, + "mutability": "mutable", + "name": "managerData", + "nameLocation": "20555:11:57", + "nodeType": "VariableDeclaration", + "scope": 41671, + "src": "20542:24:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 41655, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20542:5:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "20446:124:57" + }, + "returnParameters": { + "id": 41658, + "nodeType": "ParameterList", + "parameters": [], + "src": "20580:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41702, + "nodeType": "FunctionDefinition", + "src": "21381:284:57", + "nodes": [], + "body": { + "id": 41701, + "nodeType": "Block", + "src": "21548:117:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 41691, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41675, + "src": "21595:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + { + "id": 41692, + "name": "tradeId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41677, + "src": "21607:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 41693, + "name": "preBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41679, + "src": "21616:10:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "baseExpression": { + "id": 41694, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "21628:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 41697, + "indexExpression": { + "expression": { + "id": 41695, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41675, + "src": "21636:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21647:3:57", + "memberName": "acc", + "nodeType": "MemberAccess", + "referencedDeclaration": 49951, + "src": "21636:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21628:23:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + { + "id": 41698, + "name": "caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41681, + "src": "21653:6:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "expression": { + "id": 41688, + "name": "adjustment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41675, + "src": "21561:10:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment memory" + } + }, + "id": 41689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21572:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49954, + "src": "21561:16:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "id": 41690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21578:16:57", + "memberName": "handleAdjustment", + "nodeType": "MemberAccess", + "referencedDeclaration": 47819, + "src": "21561:33:57", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_struct$_AssetAdjustment_$49961_memory_ptr_$_t_uint256_$_t_int256_$_t_contract$_IManager_$48929_$_t_address_$returns$_t_int256_$_t_bool_$", + "typeString": "function (struct ISubAccounts.AssetAdjustment memory,uint256,int256,contract IManager,address) external returns (int256,bool)" + } + }, + "id": 41699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21561:99:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_int256_$_t_bool_$", + "typeString": "tuple(int256,bool)" + } + }, + "functionReturnParameters": 41687, + "id": 41700, + "nodeType": "Return", + "src": "21554:106:57" + } + ] + }, + "documentation": { + "id": 41672, + "nodeType": "StructuredDocumentation", + "src": "20679:699:57", + "text": " @notice Hook that calls the asset during:\n 1. Transfers\n 2. Assymetric balance adjustments from Managers or Asset\n @dev as hook is called for every asset transfer (unlike _managerHook())\n care must be given to reduce gas usage\n @param tradeId a shared id for both asset and manager hooks within a same call.\n @param adjustment all details related to balance adjustment\n @param preBalance balance before adjustment\n @param caller address of msg.sender initiating balance adjustment\n @return finalBalance the amount should be written as final balance\n @return needAllowance true if this adjustment needs to consume adjustment" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_assetHook", + "nameLocation": "21390:10:57", + "parameters": { + "id": 41682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41675, + "mutability": "mutable", + "name": "adjustment", + "nameLocation": "21424:10:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21401:33:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_memory_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + }, + "typeName": { + "id": 41674, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41673, + "name": "AssetAdjustment", + "nameLocations": [ + "21401:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49961, + "src": "21401:15:57" + }, + "referencedDeclaration": 49961, + "src": "21401:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetAdjustment_$49961_storage_ptr", + "typeString": "struct ISubAccounts.AssetAdjustment" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41677, + "mutability": "mutable", + "name": "tradeId", + "nameLocation": "21441:7:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21436:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41676, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21436:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41679, + "mutability": "mutable", + "name": "preBalance", + "nameLocation": "21454:10:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21450:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41678, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "21450:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41681, + "mutability": "mutable", + "name": "caller", + "nameLocation": "21474:6:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21466:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 41680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21466:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21400:81:57" + }, + "returnParameters": { + "id": 41687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41684, + "mutability": "mutable", + "name": "finalBalance", + "nameLocation": "21512:12:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21508:16:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41683, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "21508:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41686, + "mutability": "mutable", + "name": "needAllowance", + "nameLocation": "21531:13:57", + "nodeType": "VariableDeclaration", + "scope": 41702, + "src": "21526:18:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 41685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21526:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21507:38:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41740, + "nodeType": "FunctionDefinition", + "src": "22052:251:57", + "nodes": [], + "body": { + "id": 41739, + "nodeType": "Block", + "src": "22152:151:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 41720, + "name": "asset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41708, + "src": "22203:5:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 41721, + "name": "subId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41710, + "src": "22217:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22223:8:57", + "memberName": "toUint96", + "nodeType": "MemberAccess", + "referencedDeclaration": 35779, + "src": "22217:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint96_$attached_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint96)" + } + }, + "id": 41723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22217:16:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + ], + "id": 41719, + "name": "HeldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49911, + "src": "22185:9:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_HeldAsset_$49911_storage_ptr_$", + "typeString": "type(struct ISubAccounts.HeldAsset storage pointer)" + } + }, + "id": 41724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "22196:5:57", + "22210:5:57" + ], + "names": [ + "asset", + "subId" + ], + "nodeType": "FunctionCall", + "src": "22185:50:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + ], + "expression": { + "baseExpression": { + "id": 41715, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "22158:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41717, + "indexExpression": { + "id": 41716, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41705, + "src": "22169:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22158:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22180:4:57", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "22158:26:57", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr_$_t_struct$_HeldAsset_$49911_storage_$returns$__$attached_to$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr_$", + "typeString": "function (struct ISubAccounts.HeldAsset storage ref[] storage pointer,struct ISubAccounts.HeldAsset storage ref)" + } + }, + "id": 41725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22158:78:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41726, + "nodeType": "ExpressionStatement", + "src": "22158:78:57" + }, + { + "expression": { + "id": 41737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41727, + "name": "newOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41713, + "src": "22242:8:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 41728, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "22254:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41730, + "indexExpression": { + "id": 41729, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41705, + "src": "22265:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22254:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22276:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22254:28:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 41732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22285:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22254:32:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 41734, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "22253:34:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22288:8:57", + "memberName": "toUint16", + "nodeType": "MemberAccess", + "referencedDeclaration": 36029, + "src": "22253:43:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint16_$attached_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint16)" + } + }, + "id": 41736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22253:45:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "22242:56:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "id": 41738, + "nodeType": "ExpressionStatement", + "src": "22242:56:57" + } + ] + }, + "documentation": { + "id": 41703, + "nodeType": "StructuredDocumentation", + "src": "21709:340:57", + "text": " @notice Called when the account does not already hold the (asset, subId)\n @dev Useful for managers to check the risk of the whole account\n @param accountId account id\n @param asset asset contract\n @param subId subId of asset\n @return newOrder order that can be used to access this entry in heldAsset array" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addHeldAsset", + "nameLocation": "22061:13:57", + "parameters": { + "id": 41711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41705, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "22080:9:57", + "nodeType": "VariableDeclaration", + "scope": 41740, + "src": "22075:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41704, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22075:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41708, + "mutability": "mutable", + "name": "asset", + "nameLocation": "22098:5:57", + "nodeType": "VariableDeclaration", + "scope": 41740, + "src": "22091:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + "typeName": { + "id": 41707, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41706, + "name": "IAsset", + "nameLocations": [ + "22091:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47820, + "src": "22091:6:57" + }, + "referencedDeclaration": 47820, + "src": "22091:6:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41710, + "mutability": "mutable", + "name": "subId", + "nameLocation": "22110:5:57", + "nodeType": "VariableDeclaration", + "scope": 41740, + "src": "22105:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41709, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22105:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22074:42:57" + }, + "returnParameters": { + "id": 41714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41713, + "mutability": "mutable", + "name": "newOrder", + "nameLocation": "22142:8:57", + "nodeType": "VariableDeclaration", + "scope": 41740, + "src": "22135:15:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 41712, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "22135:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "22134:17:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41804, + "nodeType": "FunctionDefinition", + "src": "22688:627:57", + "nodes": [], + "body": { + "id": 41803, + "nodeType": "Block", + "src": "22753:562:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41749 + ], + "declarations": [ + { + "constant": false, + "id": 41749, + "mutability": "mutable", + "name": "heldAssetLen", + "nameLocation": "22812:12:57", + "nodeType": "VariableDeclaration", + "scope": 41803, + "src": "22807:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41748, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22807:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41754, + "initialValue": { + "expression": { + "baseExpression": { + "id": 41750, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "22827:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41752, + "indexExpression": { + "id": 41751, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41743, + "src": "22838:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22827:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22849:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "22827:28:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22807:48:57" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41755, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41745, + "src": "22943:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41756, + "name": "heldAssetLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41749, + "src": "22952:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 41757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22967:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "22952:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22943:25:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41796, + "nodeType": "IfStatement", + "src": "22939:327:57", + "trueBody": { + "id": 41795, + "nodeType": "Block", + "src": "22970:296:57", + "statements": [ + { + "assignments": [ + 41762 + ], + "declarations": [ + { + "constant": false, + "id": 41762, + "mutability": "mutable", + "name": "assetToMove", + "nameLocation": "22995:11:57", + "nodeType": "VariableDeclaration", + "scope": 41795, + "src": "22978:28:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + }, + "typeName": { + "id": 41761, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41760, + "name": "HeldAsset", + "nameLocations": [ + "22978:9:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49911, + "src": "22978:9:57" + }, + "referencedDeclaration": 49911, + "src": "22978:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + } + }, + "visibility": "internal" + } + ], + "id": 41770, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 41763, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "23009:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41765, + "indexExpression": { + "id": 41764, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41743, + "src": "23020:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23009:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41769, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41766, + "name": "heldAssetLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41749, + "src": "23031:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 41767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23046:1:57", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "23031:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23009:39:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22978:70:57" + }, + { + "expression": { + "id": 41777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 41771, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "23056:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41774, + "indexExpression": { + "id": 41772, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41743, + "src": "23067:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23056:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41775, + "indexExpression": { + "id": 41773, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41745, + "src": "23078:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23056:28:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41776, + "name": "assetToMove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41762, + "src": "23087:11:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "src": "23056:42:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref" + } + }, + "id": 41778, + "nodeType": "ExpressionStatement", + "src": "23056:42:57" + }, + { + "expression": { + "id": 41793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 41779, + "name": "balanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40517, + "src": "23175:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)))" + } + }, + "id": 41788, + "indexExpression": { + "id": 41780, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41743, + "src": "23191:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23175:26:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$", + "typeString": "mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref))" + } + }, + "id": 41789, + "indexExpression": { + "expression": { + "id": 41781, + "name": "assetToMove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41762, + "src": "23202:11:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23214:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49908, + "src": "23202:17:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23175:45:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)" + } + }, + "id": 41790, + "indexExpression": { + "arguments": [ + { + "expression": { + "id": 41785, + "name": "assetToMove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41762, + "src": "23226:11:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23238:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49910, + "src": "23226:17:57", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + ], + "id": 41784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23221:4:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 41783, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23221:4:57", + "typeDescriptions": {} + } + }, + "id": 41787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23221:23:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23175:70:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage", + "typeString": "struct ISubAccounts.BalanceAndOrder storage ref" + } + }, + "id": 41791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "23246:5:57", + "memberName": "order", + "nodeType": "MemberAccess", + "referencedDeclaration": 49904, + "src": "23175:76:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41792, + "name": "order", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41745, + "src": "23254:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "23175:84:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "id": 41794, + "nodeType": "ExpressionStatement", + "src": "23175:84:57" + } + ] + } + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 41797, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "23272:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41799, + "indexExpression": { + "id": 41798, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41743, + "src": "23283:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23272:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23294:3:57", + "memberName": "pop", + "nodeType": "MemberAccess", + "src": "23272:25:57", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr_$", + "typeString": "function (struct ISubAccounts.HeldAsset storage ref[] storage pointer)" + } + }, + "id": 41801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23272:27:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41802, + "nodeType": "ExpressionStatement", + "src": "23272:27:57" + } + ] + }, + "documentation": { + "id": 41741, + "nodeType": "StructuredDocumentation", + "src": "22307:378:57", + "text": " @notice Called when the balance of a (asset, subId) returns to zero\n @dev order used to gas efficiently remove assets from large accounts\n 1. removes ~200k gas overhead for a 100 position portfolio\n 2. for expiration with strikes, reduces gas overheada by ~150k\n for gas efficiency, order field is not reset when an asset is removed" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_removeHeldAsset", + "nameLocation": "22697:16:57", + "parameters": { + "id": 41746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41743, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "22719:9:57", + "nodeType": "VariableDeclaration", + "scope": 41804, + "src": "22714:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41742, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22714:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41745, + "mutability": "mutable", + "name": "order", + "nameLocation": "22737:5:57", + "nodeType": "VariableDeclaration", + "scope": 41804, + "src": "22730:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 41744, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "22730:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "22713:30:57" + }, + "returnParameters": { + "id": 41747, + "nodeType": "ParameterList", + "parameters": [], + "src": "22753:0:57" + }, + "scope": 42106, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41861, + "nodeType": "FunctionDefinition", + "src": "23501:399:57", + "nodes": [], + "body": { + "id": 41860, + "nodeType": "Block", + "src": "23635:265:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 41824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41817, + "name": "uniqueAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41813, + "src": "23641:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 41821, + "name": "assets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41809, + "src": "23670:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory[] memory" + } + }, + "id": 41822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23677:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "23670:13:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "23656:13:57", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 41818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23660:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 41819, + "nodeType": "ArrayTypeName", + "src": "23660:9:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 41823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23656:28:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "23641:43:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 41825, + "nodeType": "ExpressionStatement", + "src": "23641:43:57" + }, + { + "body": { + "id": 41851, + "nodeType": "Block", + "src": "23728:109:57", + "statements": [ + { + "expression": { + "id": 41849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41836, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41815, + "src": "23736:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41839, + "name": "uniqueAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41813, + "src": "23783:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 41842, + "name": "assets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41809, + "src": "23805:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory[] memory" + } + }, + "id": 41844, + "indexExpression": { + "id": 41843, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41827, + "src": "23812:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23805:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23815:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49908, + "src": "23805:15:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + ], + "id": 41841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23797:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 41840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23797:7:57", + "typeDescriptions": {} + } + }, + "id": 41846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23797:24:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 41847, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41815, + "src": "23823:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 41837, + "name": "UnorderedMemoryArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26718, + "src": "23745:20:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UnorderedMemoryArray_$26718_$", + "typeString": "type(library UnorderedMemoryArray)" + } + }, + "id": 41838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23766:16:57", + "memberName": "addUniqueToArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 26590, + "src": "23745:37:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address[] memory,address,uint256) pure returns (uint256)" + } + }, + "id": 41848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23745:85:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23736:94:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41850, + "nodeType": "ExpressionStatement", + "src": "23736:94:57" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41829, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41827, + "src": "23704:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 41830, + "name": "assets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41809, + "src": "23708:6:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory[] memory" + } + }, + "id": 41831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23715:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "23708:13:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23704:17:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41852, + "initializationExpression": { + "assignments": [ + 41827 + ], + "declarations": [ + { + "constant": false, + "id": 41827, + "mutability": "mutable", + "name": "i", + "nameLocation": "23701:1:57", + "nodeType": "VariableDeclaration", + "scope": 41852, + "src": "23696:6:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41826, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23696:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41828, + "nodeType": "VariableDeclarationStatement", + "src": "23696:6:57" + }, + "loopExpression": { + "expression": { + "id": 41834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "23723:3:57", + "subExpression": { + "id": 41833, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41827, + "src": "23725:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41835, + "nodeType": "ExpressionStatement", + "src": "23723:3:57" + }, + "nodeType": "ForStatement", + "src": "23691:146:57" + }, + { + "expression": { + "arguments": [ + { + "id": 41856, + "name": "uniqueAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41813, + "src": "23874:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "id": 41857, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41815, + "src": "23888:6:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 41853, + "name": "UnorderedMemoryArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26718, + "src": "23843:20:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UnorderedMemoryArray_$26718_$", + "typeString": "type(library UnorderedMemoryArray)" + } + }, + "id": 41855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23864:9:57", + "memberName": "trimArray", + "nodeType": "MemberAccess", + "referencedDeclaration": 26717, + "src": "23843:30:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address[] memory,uint256) pure" + } + }, + "id": 41858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23843:52:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41859, + "nodeType": "ExpressionStatement", + "src": "23843:52:57" + } + ] + }, + "documentation": { + "id": 41805, + "nodeType": "StructuredDocumentation", + "src": "23319:179:57", + "text": " @dev get unique assets from heldAssets.\n heldAssets can hold multiple entries with same asset but different subId\n @return uniqueAssets list of address" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getUniqueAssets", + "nameLocation": "23510:16:57", + "parameters": { + "id": 41810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41809, + "mutability": "mutable", + "name": "assets", + "nameLocation": "23546:6:57", + "nodeType": "VariableDeclaration", + "scope": 41861, + "src": "23527:25:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset[]" + }, + "typeName": { + "baseType": { + "id": 41807, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41806, + "name": "HeldAsset", + "nameLocations": [ + "23527:9:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49911, + "src": "23527:9:57" + }, + "referencedDeclaration": 49911, + "src": "23527:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + } + }, + "id": 41808, + "nodeType": "ArrayTypeName", + "src": "23527:11:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset[]" + } + }, + "visibility": "internal" + } + ], + "src": "23526:27:57" + }, + "returnParameters": { + "id": 41816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41813, + "mutability": "mutable", + "name": "uniqueAssets", + "nameLocation": "23606:12:57", + "nodeType": "VariableDeclaration", + "scope": 41861, + "src": "23589:29:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 41811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23589:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 41812, + "nodeType": "ArrayTypeName", + "src": "23589:9:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41815, + "mutability": "mutable", + "name": "length", + "nameLocation": "23625:6:57", + "nodeType": "VariableDeclaration", + "scope": 41861, + "src": "23620:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41814, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23620:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23588:44:57" + }, + "scope": 42106, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 41892, + "nodeType": "FunctionDefinition", + "src": "24124:239:57", + "nodes": [], + "body": { + "id": 41891, + "nodeType": "Block", + "src": "24222:141:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41876 + ], + "declarations": [ + { + "constant": false, + "id": 41876, + "mutability": "mutable", + "name": "userBalanceAndOrder", + "nameLocation": "24251:19:57", + "nodeType": "VariableDeclaration", + "scope": 41891, + "src": "24228:42:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_memory_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + }, + "typeName": { + "id": 41875, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41874, + "name": "BalanceAndOrder", + "nameLocations": [ + "24228:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49905, + "src": "24228:15:57" + }, + "referencedDeclaration": 49905, + "src": "24228:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + } + }, + "visibility": "internal" + } + ], + "id": 41884, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 41877, + "name": "balanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40517, + "src": "24273:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)))" + } + }, + "id": 41879, + "indexExpression": { + "id": 41878, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41864, + "src": "24289:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24273:26:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$", + "typeString": "mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref))" + } + }, + "id": 41881, + "indexExpression": { + "id": 41880, + "name": "asset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41867, + "src": "24300:5:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24273:33:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)" + } + }, + "id": 41883, + "indexExpression": { + "id": 41882, + "name": "subId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41869, + "src": "24307:5:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24273:40:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage", + "typeString": "struct ISubAccounts.BalanceAndOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24228:85:57" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 41887, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41876, + "src": "24330:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_memory_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder memory" + } + }, + "id": 41888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24350:7:57", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 49902, + "src": "24330:27:57", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + ], + "id": 41886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24326:3:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 41885, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "24326:3:57", + "typeDescriptions": {} + } + }, + "id": 41889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24326:32:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 41873, + "id": 41890, + "nodeType": "Return", + "src": "24319:39:57" + } + ] + }, + "baseFunctions": [ + 50099 + ], + "documentation": { + "id": 41862, + "nodeType": "StructuredDocumentation", + "src": "23944:177:57", + "text": " @notice Gets an account's balance for an (asset, subId)\n @param accountId ID of account\n @param asset IAsset of balance\n @param subId subId of balance" + }, + "functionSelector": "0806e640", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "24133:10:57", + "parameters": { + "id": 41870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41864, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "24149:9:57", + "nodeType": "VariableDeclaration", + "scope": 41892, + "src": "24144:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41863, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24144:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41867, + "mutability": "mutable", + "name": "asset", + "nameLocation": "24167:5:57", + "nodeType": "VariableDeclaration", + "scope": 41892, + "src": "24160:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + "typeName": { + "id": 41866, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41865, + "name": "IAsset", + "nameLocations": [ + "24160:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47820, + "src": "24160:6:57" + }, + "referencedDeclaration": 47820, + "src": "24160:6:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 41869, + "mutability": "mutable", + "name": "subId", + "nameLocation": "24179:5:57", + "nodeType": "VariableDeclaration", + "scope": 41892, + "src": "24174:10:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41868, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24174:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24143:42:57" + }, + "returnParameters": { + "id": 41873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41872, + "mutability": "mutable", + "name": "balance", + "nameLocation": "24213:7:57", + "nodeType": "VariableDeclaration", + "scope": 41892, + "src": "24209:11:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 41871, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "24209:3:57", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "24208:13:57" + }, + "scope": 42106, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 41976, + "nodeType": "FunctionDefinition", + "src": "24551:639:57", + "nodes": [], + "body": { + "id": 41975, + "nodeType": "Block", + "src": "24655:535:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 41903 + ], + "declarations": [ + { + "constant": false, + "id": 41903, + "mutability": "mutable", + "name": "allAssetBalancesLen", + "nameLocation": "24666:19:57", + "nodeType": "VariableDeclaration", + "scope": 41975, + "src": "24661:24:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41902, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24661:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41908, + "initialValue": { + "expression": { + "baseExpression": { + "id": 41904, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "24688:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41906, + "indexExpression": { + "id": 41905, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41895, + "src": "24699:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24688:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24710:6:57", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "24688:28:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24661:55:57" + }, + { + "expression": { + "id": 41916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 41909, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41900, + "src": "24722:13:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 41914, + "name": "allAssetBalancesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41903, + "src": "24757:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 41913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "24738:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct ISubAccounts.AssetBalance memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 41911, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41910, + "name": "AssetBalance", + "nameLocations": [ + "24742:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49935, + "src": "24742:12:57" + }, + "referencedDeclaration": 49935, + "src": "24742:12:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetBalance_$49935_storage_ptr", + "typeString": "struct ISubAccounts.AssetBalance" + } + }, + "id": 41912, + "nodeType": "ArrayTypeName", + "src": "24742:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetBalance[]" + } + } + }, + "id": 41915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24738:39:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory[] memory" + } + }, + "src": "24722:55:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory[] memory" + } + }, + "id": 41917, + "nodeType": "ExpressionStatement", + "src": "24722:55:57" + }, + { + "body": { + "id": 41971, + "nodeType": "Block", + "src": "24826:334:57", + "statements": [ + { + "assignments": [ + 41929 + ], + "declarations": [ + { + "constant": false, + "id": 41929, + "mutability": "mutable", + "name": "heldAsset", + "nameLocation": "24851:9:57", + "nodeType": "VariableDeclaration", + "scope": 41971, + "src": "24834:26:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + }, + "typeName": { + "id": 41928, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41927, + "name": "HeldAsset", + "nameLocations": [ + "24834:9:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49911, + "src": "24834:9:57" + }, + "referencedDeclaration": 49911, + "src": "24834:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage_ptr", + "typeString": "struct ISubAccounts.HeldAsset" + } + }, + "visibility": "internal" + } + ], + "id": 41935, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 41930, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "24863:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41932, + "indexExpression": { + "id": 41931, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41895, + "src": "24874:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24863:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + }, + "id": 41934, + "indexExpression": { + "id": 41933, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41919, + "src": "24885:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24863:24:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24834:53:57" + }, + { + "assignments": [ + 41938 + ], + "declarations": [ + { + "constant": false, + "id": 41938, + "mutability": "mutable", + "name": "userBalanceAndOrder", + "nameLocation": "24918:19:57", + "nodeType": "VariableDeclaration", + "scope": 41971, + "src": "24895:42:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_memory_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + }, + "typeName": { + "id": 41937, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41936, + "name": "BalanceAndOrder", + "nameLocations": [ + "24895:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49905, + "src": "24895:15:57" + }, + "referencedDeclaration": 49905, + "src": "24895:15:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder" + } + }, + "visibility": "internal" + } + ], + "id": 41951, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 41939, + "name": "balanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40517, + "src": "24940:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$_$", + "typeString": "mapping(uint256 => mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)))" + } + }, + "id": 41941, + "indexExpression": { + "id": 41940, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41895, + "src": "24956:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24940:26:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_contract$_IAsset_$47820_$_t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$_$", + "typeString": "mapping(contract IAsset => mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref))" + } + }, + "id": 41944, + "indexExpression": { + "expression": { + "id": 41942, + "name": "heldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41929, + "src": "24967:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41943, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24977:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49908, + "src": "24967:15:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24940:43:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_BalanceAndOrder_$49905_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.BalanceAndOrder storage ref)" + } + }, + "id": 41950, + "indexExpression": { + "arguments": [ + { + "expression": { + "id": 41947, + "name": "heldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41929, + "src": "24989:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24999:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49910, + "src": "24989:15:57", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + ], + "id": 41946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24984:4:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 41945, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24984:4:57", + "typeDescriptions": {} + } + }, + "id": 41949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24984:21:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24940:66:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_storage", + "typeString": "struct ISubAccounts.BalanceAndOrder storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24895:111:57" + }, + { + "expression": { + "id": 41969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 41952, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41900, + "src": "25015:13:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory[] memory" + } + }, + "id": 41954, + "indexExpression": { + "id": 41953, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41919, + "src": "25029:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "25015:16:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetBalance_$49935_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 41956, + "name": "heldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41929, + "src": "25063:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25073:5:57", + "memberName": "asset", + "nodeType": "MemberAccess", + "referencedDeclaration": 49908, + "src": "25063:15:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41960, + "name": "heldAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41929, + "src": "25092:9:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_HeldAsset_$49911_memory_ptr", + "typeString": "struct ISubAccounts.HeldAsset memory" + } + }, + "id": 41961, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25102:5:57", + "memberName": "subId", + "nodeType": "MemberAccess", + "referencedDeclaration": 49910, + "src": "25092:15:57", + "typeDescriptions": { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint96", + "typeString": "uint96" + } + ], + "id": 41959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25087:4:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 41958, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25087:4:57", + "typeDescriptions": {} + } + }, + "id": 41962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25087:21:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "expression": { + "id": 41965, + "name": "userBalanceAndOrder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41938, + "src": "25123:19:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BalanceAndOrder_$49905_memory_ptr", + "typeString": "struct ISubAccounts.BalanceAndOrder memory" + } + }, + "id": 41966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25143:7:57", + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 49902, + "src": "25123:27:57", + "typeDescriptions": { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int240", + "typeString": "int240" + } + ], + "id": 41964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25119:3:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 41963, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "25119:3:57", + "typeDescriptions": {} + } + }, + "id": 41967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25119:32:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 41955, + "name": "AssetBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 49935, + "src": "25042:12:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_AssetBalance_$49935_storage_ptr_$", + "typeString": "type(struct ISubAccounts.AssetBalance storage pointer)" + } + }, + "id": 41968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "25056:5:57", + "25080:5:57", + "25110:7:57" + ], + "names": [ + "asset", + "subId", + "balance" + ], + "nodeType": "FunctionCall", + "src": "25042:111:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetBalance_$49935_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory" + } + }, + "src": "25015:138:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetBalance_$49935_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory" + } + }, + "id": 41970, + "nodeType": "ExpressionStatement", + "src": "25015:138:57" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 41923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 41921, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41919, + "src": "24796:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 41922, + "name": "allAssetBalancesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41903, + "src": "24800:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24796:23:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 41972, + "initializationExpression": { + "assignments": [ + 41919 + ], + "declarations": [ + { + "constant": false, + "id": 41919, + "mutability": "mutable", + "name": "i", + "nameLocation": "24793:1:57", + "nodeType": "VariableDeclaration", + "scope": 41972, + "src": "24788:6:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41918, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24788:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 41920, + "nodeType": "VariableDeclarationStatement", + "src": "24788:6:57" + }, + "loopExpression": { + "expression": { + "id": 41925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "24821:3:57", + "subExpression": { + "id": 41924, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41919, + "src": "24821:1:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 41926, + "nodeType": "ExpressionStatement", + "src": "24821:3:57" + }, + "nodeType": "ForStatement", + "src": "24783:377:57" + }, + { + "expression": { + "id": 41973, + "name": "assetBalances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41900, + "src": "25172:13:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance memory[] memory" + } + }, + "functionReturnParameters": 41901, + "id": 41974, + "nodeType": "Return", + "src": "25165:20:57" + } + ] + }, + "baseFunctions": [ + 50109 + ], + "documentation": { + "id": 41893, + "nodeType": "StructuredDocumentation", + "src": "24367:181:57", + "text": " @notice Gets a list of all asset balances of an account\n @dev can use balanceAndOrder() to get the index of a specific balance\n @param accountId ID of account" + }, + "functionSelector": "c7569701", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAccountBalances", + "nameLocation": "24560:18:57", + "parameters": { + "id": 41896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41895, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "24584:9:57", + "nodeType": "VariableDeclaration", + "scope": 41976, + "src": "24579:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41894, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24579:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24578:16:57" + }, + "returnParameters": { + "id": 41901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41900, + "mutability": "mutable", + "name": "assetBalances", + "nameLocation": "24640:13:57", + "nodeType": "VariableDeclaration", + "scope": 41976, + "src": "24618:35:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_memory_ptr_$dyn_memory_ptr", + "typeString": "struct ISubAccounts.AssetBalance[]" + }, + "typeName": { + "baseType": { + "id": 41898, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 41897, + "name": "AssetBalance", + "nameLocations": [ + "24618:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 49935, + "src": "24618:12:57" + }, + "referencedDeclaration": 49935, + "src": "24618:12:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AssetBalance_$49935_storage_ptr", + "typeString": "struct ISubAccounts.AssetBalance" + } + }, + "id": 41899, + "nodeType": "ArrayTypeName", + "src": "24618:14:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_AssetBalance_$49935_storage_$dyn_storage_ptr", + "typeString": "struct ISubAccounts.AssetBalance[]" + } + }, + "visibility": "internal" + } + ], + "src": "24617:37:57" + }, + "scope": 42106, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 41995, + "nodeType": "FunctionDefinition", + "src": "25376:163:57", + "nodes": [], + "body": { + "id": 41994, + "nodeType": "Block", + "src": "25471:68:57", + "nodes": [], + "statements": [ + { + "expression": { + "id": 41992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 41985, + "name": "uniqueAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41983, + "src": "25478:12:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + null + ], + "id": 41986, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "25477:15:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$__$", + "typeString": "tuple(address[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 41988, + "name": "heldAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40524, + "src": "25512:10:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage_$", + "typeString": "mapping(uint256 => struct ISubAccounts.HeldAsset storage ref[] storage ref)" + } + }, + "id": 41990, + "indexExpression": { + "id": 41989, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41979, + "src": "25523:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25512:21:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_struct$_HeldAsset_$49911_storage_$dyn_storage", + "typeString": "struct ISubAccounts.HeldAsset storage ref[] storage ref" + } + ], + "id": 41987, + "name": "_getUniqueAssets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41861, + "src": "25495:16:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_HeldAsset_$49911_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (struct ISubAccounts.HeldAsset memory[] memory) pure returns (address[] memory,uint256)" + } + }, + "id": 41991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25495:39:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "25477:57:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 41993, + "nodeType": "ExpressionStatement", + "src": "25477:57:57" + } + ] + }, + "baseFunctions": [ + 50118 + ], + "documentation": { + "id": 41977, + "nodeType": "StructuredDocumentation", + "src": "25194:179:57", + "text": " @dev get unique assets from heldAssets.\n heldAssets can hold multiple entries with same asset but different subId\n @return uniqueAssets list of address" + }, + "functionSelector": "21a8c3af", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUniqueAssets", + "nameLocation": "25385:15:57", + "parameters": { + "id": 41980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41979, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "25406:9:57", + "nodeType": "VariableDeclaration", + "scope": 41995, + "src": "25401:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 41978, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25401:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25400:16:57" + }, + "returnParameters": { + "id": 41984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41983, + "mutability": "mutable", + "name": "uniqueAssets", + "nameLocation": "25457:12:57", + "nodeType": "VariableDeclaration", + "scope": 41995, + "src": "25440:29:57", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 41981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25440:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 41982, + "nodeType": "ArrayTypeName", + "src": "25440:9:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "25439:31:57" + }, + "scope": 42106, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 42005, + "nodeType": "FunctionDefinition", + "src": "25598:97:57", + "nodes": [], + "body": { + "id": 42004, + "nodeType": "Block", + "src": "25657:38:57", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 42001, + "name": "_domainSeparatorV4", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 34248, + "src": "25670:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", + "typeString": "function () view returns (bytes32)" + } + }, + "id": 42002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25670:20:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 42000, + "id": 42003, + "nodeType": "Return", + "src": "25663:27:57" + } + ] + }, + "documentation": { + "id": 41996, + "nodeType": "StructuredDocumentation", + "src": "25543:52:57", + "text": " @dev get domain separator for signing" + }, + "functionSelector": "f698da25", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "domainSeparator", + "nameLocation": "25607:15:57", + "parameters": { + "id": 41997, + "nodeType": "ParameterList", + "parameters": [], + "src": "25622:2:57" + }, + "returnParameters": { + "id": 42000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 41999, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 42005, + "src": "25648:7:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 41998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25648:7:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "25647:9:57" + }, + "scope": 42106, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 42035, + "nodeType": "FunctionDefinition", + "src": "25915:260:57", + "nodes": [], + "body": { + "id": 42034, + "nodeType": "Block", + "src": "26014:161:57", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 42018, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42008, + "src": "26049:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 42019, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42010, + "src": "26058:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 42016, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "26024:5:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_SubAccounts_$42106_$", + "typeString": "type(contract super SubAccounts)" + } + }, + "id": 42017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26030:18:57", + "memberName": "_isApprovedOrOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 32570, + "src": "26024:24:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 42020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26024:44:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 42023, + "nodeType": "IfStatement", + "src": "26020:61:57", + "trueBody": { + "expression": { + "hexValue": "74727565", + "id": 42021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26077:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 42015, + "id": 42022, + "nodeType": "Return", + "src": "26070:11:57" + } + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 42032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "baseExpression": { + "id": 42026, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "26137:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 42028, + "indexExpression": { + "id": 42027, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42010, + "src": "26145:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26137:18:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 42025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26129:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 42024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26129:7:57", + "typeDescriptions": {} + } + }, + "id": 42029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26129:27:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 42030, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26160:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 42031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26164:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26160:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "26129:41:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 42015, + "id": 42033, + "nodeType": "Return", + "src": "26122:48:57" + } + ] + }, + "baseFunctions": [ + 32570 + ], + "documentation": { + "id": 42006, + "nodeType": "StructuredDocumentation", + "src": "25745:167:57", + "text": " @dev giving managers exclusive rights to transfer account ownerships\n @dev this function overrides ERC721._isApprovedOrOwner(spender, tokenId);" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isApprovedOrOwner", + "nameLocation": "25924:18:57", + "overrides": { + "id": 42012, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "25990:8:57" + }, + "parameters": { + "id": 42011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 42008, + "mutability": "mutable", + "name": "spender", + "nameLocation": "25951:7:57", + "nodeType": "VariableDeclaration", + "scope": 42035, + "src": "25943:15:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42007, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25943:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 42010, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "25965:9:57", + "nodeType": "VariableDeclaration", + "scope": 42035, + "src": "25960:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 42009, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25960:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25942:33:57" + }, + "returnParameters": { + "id": 42015, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 42014, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 42035, + "src": "26008:4:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 42013, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26008:4:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26007:6:57" + }, + "scope": 42106, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 42064, + "nodeType": "ModifierDefinition", + "src": "26234:285:57", + "nodes": [], + "body": { + "id": 42063, + "nodeType": "Block", + "src": "26310:209:57", + "nodes": [], + "statements": [ + { + "condition": { + "id": 42045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "26320:38:57", + "subExpression": { + "arguments": [ + { + "id": 42042, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42037, + "src": "26340:6:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 42043, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42039, + "src": "26348:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 42041, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 42035 + ], + "referencedDeclaration": 42035, + "src": "26321:18:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 42044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26321:37:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 42061, + "nodeType": "IfStatement", + "src": "26316:192:57", + "trueBody": { + "id": 42060, + "nodeType": "Block", + "src": "26360:148:57", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 42047, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42037, + "src": "26412:6:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 42048, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42039, + "src": "26420:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 42050, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42039, + "src": "26439:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 42049, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32236, + "src": "26431:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 42051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26431:18:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 42052, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "26451:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 42054, + "indexExpression": { + "id": 42053, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42039, + "src": "26459:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26451:18:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + }, + { + "arguments": [ + { + "id": 42056, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42039, + "src": "26483:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 42055, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 32365, + "src": "26471:11:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 42057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26471:22:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 42046, + "name": "AC_NotOwnerOrERC721Approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50207, + "src": "26375:27:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_address_$_t_contract$_IManager_$48929_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address,contract IManager,address) pure" + } + }, + "id": 42058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26375:126:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42059, + "nodeType": "RevertStatement", + "src": "26368:133:57" + } + ] + } + }, + { + "id": 42062, + "nodeType": "PlaceholderStatement", + "src": "26513:1:57" + } + ] + }, + "name": "onlyOwnerOrManagerOrERC721Approved", + "nameLocation": "26243:34:57", + "parameters": { + "id": 42040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 42037, + "mutability": "mutable", + "name": "sender", + "nameLocation": "26286:6:57", + "nodeType": "VariableDeclaration", + "scope": 42064, + "src": "26278:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26278:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 42039, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "26299:9:57", + "nodeType": "VariableDeclaration", + "scope": 42064, + "src": "26294:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 42038, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26294:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26277:32:57" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 42087, + "nodeType": "ModifierDefinition", + "src": "26523:170:57", + "nodes": [], + "body": { + "id": 42086, + "nodeType": "Block", + "src": "26560:133:57", + "nodes": [], + "statements": [ + { + "assignments": [ + 42069 + ], + "declarations": [ + { + "constant": false, + "id": 42069, + "mutability": "mutable", + "name": "accountManager", + "nameLocation": "26574:14:57", + "nodeType": "VariableDeclaration", + "scope": 42086, + "src": "26566:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 42068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26566:7:57", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 42076, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 42072, + "name": "manager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40506, + "src": "26599:7:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IManager_$48929_$", + "typeString": "mapping(uint256 => contract IManager)" + } + }, + "id": 42074, + "indexExpression": { + "id": 42073, + "name": "accountId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42066, + "src": "26607:9:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26599:18:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IManager_$48929", + "typeString": "contract IManager" + } + ], + "id": 42071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26591:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 42070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26591:7:57", + "typeDescriptions": {} + } + }, + "id": 42075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26591:27:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26566:52:57" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 42080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 42077, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26628:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 42078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26632:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26628:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 42079, + "name": "accountManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42069, + "src": "26642:14:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "26628:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 42084, + "nodeType": "IfStatement", + "src": "26624:57:57", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 42081, + "name": "AC_OnlyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50190, + "src": "26665:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 42082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26665:16:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42083, + "nodeType": "RevertStatement", + "src": "26658:23:57" + } + }, + { + "id": 42085, + "nodeType": "PlaceholderStatement", + "src": "26687:1:57" + } + ] + }, + "name": "onlyManager", + "nameLocation": "26532:11:57", + "parameters": { + "id": 42067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 42066, + "mutability": "mutable", + "name": "accountId", + "nameLocation": "26549:9:57", + "nodeType": "VariableDeclaration", + "scope": 42087, + "src": "26544:14:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 42065, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26544:4:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26543:16:57" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 42105, + "nodeType": "ModifierDefinition", + "src": "26697:106:57", + "nodes": [], + "body": { + "id": 42104, + "nodeType": "Block", + "src": "26730:73:57", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 42098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 42092, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "26740:3:57", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 42093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26744:6:57", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26740:10:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 42096, + "name": "asset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42090, + "src": "26762:5:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + ], + "id": 42095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26754:7:57", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 42094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26754:7:57", + "typeDescriptions": {} + } + }, + "id": 42097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26754:14:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "26740:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 42102, + "nodeType": "IfStatement", + "src": "26736:55:57", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 42099, + "name": "AC_OnlyAsset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50192, + "src": "26777:12:57", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 42100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26777:14:57", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42101, + "nodeType": "RevertStatement", + "src": "26770:21:57" + } + }, + { + "id": 42103, + "nodeType": "PlaceholderStatement", + "src": "26797:1:57" + } + ] + }, + "name": "onlyAsset", + "nameLocation": "26706:9:57", + "parameters": { + "id": 42091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 42090, + "mutability": "mutable", + "name": "asset", + "nameLocation": "26723:5:57", + "nodeType": "VariableDeclaration", + "scope": 42105, + "src": "26716:12:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + }, + "typeName": { + "id": 42089, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 42088, + "name": "IAsset", + "nameLocations": [ + "26716:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47820, + "src": "26716:6:57" + }, + "referencedDeclaration": 47820, + "src": "26716:6:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAsset_$47820", + "typeString": "contract IAsset" + } + }, + "visibility": "internal" + } + ], + "src": "26715:14:57" + }, + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 40473, + "name": "Allowances", + "nameLocations": [ + "1037:10:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 40125, + "src": "1037:10:57" + }, + "id": 40474, + "nodeType": "InheritanceSpecifier", + "src": "1037:10:57" + }, + { + "baseName": { + "id": 40475, + "name": "ERC721", + "nameLocations": [ + "1049:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 33035, + "src": "1049:6:57" + }, + "id": 40476, + "nodeType": "InheritanceSpecifier", + "src": "1049:6:57" + }, + { + "baseName": { + "id": 40477, + "name": "EIP712", + "nameLocations": [ + "1057:6:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 34292, + "src": "1057:6:57" + }, + "id": 40478, + "nodeType": "InheritanceSpecifier", + "src": "1057:6:57" + }, + { + "baseName": { + "id": 40479, + "name": "ReentrancyGuard", + "nameLocations": [ + "1065:15:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 30400, + "src": "1065:15:57" + }, + "id": 40480, + "nodeType": "InheritanceSpecifier", + "src": "1065:15:57" + }, + { + "baseName": { + "id": 40481, + "name": "ISubAccounts", + "nameLocations": [ + "1082:12:57" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50227, + "src": "1082:12:57" + }, + "id": 40482, + "nodeType": "InheritanceSpecifier", + "src": "1082:12:57" + } + ], + "canonicalName": "SubAccounts", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 40472, + "nodeType": "StructuredDocumentation", + "src": "717:295:57", + "text": " @title SubAccounts\n @author Lyra\n @notice Base layer that manages:\n 1. balances for each (subAccounts, asset, subId)\n 2. routing of manager, asset, allowance hooks / checks during any balance adjustment event\n 3. account creation / manager assignment" + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 42106, + 50227, + 30400, + 34292, + 33035, + 33196, + 33151, + 34398, + 34410, + 33548, + 40125, + 47793 + ], + "name": "SubAccounts", + "nameLocation": "1022:11:57", + "scope": 42107, + "usedErrors": [ + 47792, + 50190, + 50192, + 50194, + 50207, + 50213, + 50219, + 50221, + 50223, + 50226, + 50401 + ], + "usedEvents": [ + 33050, + 33059, + 33068, + 50127, + 50136, + 50145, + 50154, + 50171, + 50188 + ] + } + ], + "license": "BUSL-1.1" + }, + "id": 57 +} \ No newline at end of file diff --git a/v2-subgraph/abis/TradeModule.json b/v2-subgraph/abis/TradeModule.json new file mode 100644 index 0000000..ab0758b --- /dev/null +++ b/v2-subgraph/abis/TradeModule.json @@ -0,0 +1,519 @@ +[ + { + "inputs": [ + { + "internalType": "contract IMatching", + "name": "_matching", + "type": "address" + }, + { + "internalType": "contract IAsset", + "name": "_quoteAsset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_feeRecipient", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "BM_NonceAlreadyUsed", + "type": "error" + }, + { + "inputs": [], + "name": "BM_OnlyMatching", + "type": "error" + }, + { + "inputs": [], + "name": "TM_AssetMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "TM_AssetSubIdMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "TM_FeeTooHigh", + "type": "error" + }, + { + "inputs": [], + "name": "TM_FillLimitCrossed", + "type": "error" + }, + { + "inputs": [], + "name": "TM_InvalidActionsLength", + "type": "error" + }, + { + "inputs": [], + "name": "TM_InvalidNonce", + "type": "error" + }, + { + "inputs": [], + "name": "TM_InvalidRecipientId", + "type": "error" + }, + { + "inputs": [], + "name": "TM_IsBidMismatch", + "type": "error" + }, + { + "inputs": [], + "name": "TM_PriceTooHigh", + "type": "error" + }, + { + "inputs": [], + "name": "TM_PriceTooLow", + "type": "error" + }, + { + "inputs": [], + "name": "TM_SignedAccountMismatch", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "acc", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "recipient", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "takerFee", + "type": "uint256" + } + ], + "name": "FeeCharged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "NonceUsed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "base", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "taker", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maker", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "takerIsBid", + "type": "bool" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amtQuote", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amtBase", + "type": "uint256" + } + ], + "name": "OrderMatched", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "subaccountId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "contract IMatchingModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "internalType": "struct IMatchingModule.VerifiedAction[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "actionDataBytes", + "type": "bytes" + } + ], + "name": "executeAction", + "outputs": [ + { + "internalType": "uint256[]", + "name": "newAccIds", + "type": "uint256[]" + }, + { + "internalType": "address[]", + "name": "newAccOwners", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "filled", + "outputs": [ + { + "internalType": "uint256", + "name": "filled", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IPerpAsset", + "name": "", + "type": "address" + } + ], + "name": "isPerpAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "matching", + "outputs": [ + { + "internalType": "contract IMatching", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "quoteAsset", + "outputs": [ + { + "internalType": "contract IAsset", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "seenNonces", + "outputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_feeRecipient", + "type": "uint256" + } + ], + "name": "setFeeRecipient", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IPerpAsset", + "name": "_perpAsset", + "type": "address" + }, + { + "internalType": "bool", + "name": "isPerp", + "type": "bool" + } + ], + "name": "setPerpAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subAccounts", + "outputs": [ + { + "internalType": "contract ISubAccounts", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "usedNonces", + "outputs": [ + { + "internalType": "bool", + "name": "used", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/v2-subgraph/docker-compose.yml b/v2-subgraph/docker-compose.yml new file mode 100644 index 0000000..a008fc9 --- /dev/null +++ b/v2-subgraph/docker-compose.yml @@ -0,0 +1,50 @@ +version: "3" +services: + graph-node: + image: graphprotocol/graph-node + ports: + - "8000:8000" + - "8001:8001" + - "8020:8020" + - "8030:8030" + - "8040:8040" + depends_on: + - ipfs + - postgres + extra_hosts: + - host.docker.internal:host-gateway + environment: + postgres_host: postgres + postgres_user: graph-node + postgres_pass: let-me-in + postgres_db: graph-node + ipfs: "ipfs:5001" + ethereum: "mainnet:http://host.docker.internal:8545" + GRAPH_LOG: info + ipfs: + image: ipfs/kubo:v0.17.0 + ports: + - "5001:5001" + volumes: + - ./data/ipfs:/data/ipfs + postgres: + image: postgres:14 + ports: + - "5432:5432" + command: + [ + "postgres", + "-cshared_preload_libraries=pg_stat_statements", + "-cmax_connections=200", + ] + environment: + POSTGRES_USER: graph-node + POSTGRES_PASSWORD: let-me-in + POSTGRES_DB: graph-node + # FIXME: remove this env. var. which we shouldn't need. Introduced by + # , maybe as a + # workaround for https://github.com/docker/for-mac/issues/6270? + PGDATA: "/var/lib/postgresql/data" + POSTGRES_INITDB_ARGS: "-E UTF8 --locale=C" + volumes: + - ./data/postgres:/var/lib/postgresql/data diff --git a/v2-subgraph/networks.json b/v2-subgraph/networks.json new file mode 100644 index 0000000..2607bbc --- /dev/null +++ b/v2-subgraph/networks.json @@ -0,0 +1,8 @@ +{ + "957": { + "subAccounts": { + "address": "0xE7603DF191D699d8BD9891b821347dbAb889E5a5", + "startBlock": 843041 + } + } +} \ No newline at end of file diff --git a/v2-subgraph/package-lock.json b/v2-subgraph/package-lock.json new file mode 100644 index 0000000..f206cb1 --- /dev/null +++ b/v2-subgraph/package-lock.json @@ -0,0 +1,6040 @@ +{ + "name": "v2_subgraph", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "v2_subgraph", + "license": "UNLICENSED", + "dependencies": { + "@graphprotocol/graph-cli": "0.85.0", + "@graphprotocol/graph-ts": "0.32.0", + "ethers": "^6.13.3" + }, + "devDependencies": { + "matchstick-as": "0.5.0" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT" + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key/node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/@ethersproject/signing-key/node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable": { + "version": "0.0.0-internal-testing.5", + "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", + "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", + "license": "MIT", + "dependencies": { + "@rescript/std": "9.0.0", + "graphql": "^16.6.0", + "graphql-import-node": "^0.0.5", + "js-yaml": "^4.1.0" + }, + "bin": { + "uncrashable": "bin/uncrashable" + } + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphprotocol/graph-cli": { + "version": "0.85.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.85.0.tgz", + "integrity": "sha512-jkEgJW4R1Z1lFKSqbufmDbRRbCrtO0n9UBry5v6s/x5MOnI6I8U2oBXyt/kdK4oj+zhHqxulTaSGu5L4AAHalA==", + "license": "(Apache-2.0 OR MIT)", + "dependencies": { + "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", + "@oclif/core": "2.8.6", + "@oclif/plugin-autocomplete": "^2.3.6", + "@oclif/plugin-not-found": "^2.4.0", + "@whatwg-node/fetch": "^0.8.4", + "assemblyscript": "0.19.23", + "binary-install-raw": "0.0.13", + "chalk": "3.0.0", + "chokidar": "3.5.3", + "debug": "4.3.4", + "docker-compose": "0.23.19", + "dockerode": "2.5.8", + "fs-extra": "9.1.0", + "glob": "9.3.5", + "gluegun": "5.1.6", + "graphql": "15.5.0", + "immutable": "4.2.1", + "ipfs-http-client": "55.0.0", + "jayson": "4.0.0", + "js-yaml": "3.14.1", + "open": "8.4.2", + "prettier": "3.0.3", + "semver": "7.4.0", + "sync-request": "6.1.0", + "tmp-promise": "3.0.3", + "web3-eth-abi": "1.7.0", + "which": "2.0.2", + "yaml": "1.10.2" + }, + "bin": { + "graph": "bin/run" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", + "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "fs-extra": "^9.1.0", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "semver": "^7.3.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/assemblyscript": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", + "license": "Apache-2.0", + "dependencies": { + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/binaryen": { + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/graphql": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", + "license": "MIT", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" + }, + "node_modules/@graphprotocol/graph-cli/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/@graphprotocol/graph-cli/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/@graphprotocol/graph-ts": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.32.0.tgz", + "integrity": "sha512-YfKLT2w+ItXD/VPYQiAKtINQONVsAOkcqVFMHlhUy0fcEBVWuFBT53hJNI0/l5ujQa4TSxtzrKW/7EABAdgI8g==", + "dependencies": { + "assemblyscript": "0.19.10" + } + }, + "node_modules/@ipld/dag-cbor": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", + "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", + "license": "(Apache-2.0 AND MIT)", + "dependencies": { + "cborg": "^1.6.0", + "multiformats": "^9.5.4" + } + }, + "node_modules/@ipld/dag-json": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", + "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", + "license": "(Apache-2.0 AND MIT)", + "dependencies": { + "cborg": "^1.5.4", + "multiformats": "^9.5.4" + } + }, + "node_modules/@ipld/dag-pb": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", + "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", + "license": "(Apache-2.0 AND MIT)", + "dependencies": { + "multiformats": "^9.5.4" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oclif/core": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.16.0.tgz", + "integrity": "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==", + "license": "MIT", + "dependencies": { + "@types/cli-progress": "^3.11.0", + "ansi-escapes": "^4.3.2", + "ansi-styles": "^4.3.0", + "cardinal": "^2.1.1", + "chalk": "^4.1.2", + "clean-stack": "^3.0.1", + "cli-progress": "^3.12.0", + "debug": "^4.3.4", + "ejs": "^3.1.8", + "get-package-type": "^0.1.0", + "globby": "^11.1.0", + "hyperlinker": "^1.0.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "js-yaml": "^3.14.1", + "natural-orderby": "^2.0.3", + "object-treeify": "^1.1.33", + "password-prompt": "^1.1.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "supports-color": "^8.1.1", + "supports-hyperlinks": "^2.2.0", + "ts-node": "^10.9.1", + "tslib": "^2.5.0", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oclif/core/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@oclif/plugin-autocomplete": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.10.tgz", + "integrity": "sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg==", + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.15.0", + "chalk": "^4.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@oclif/plugin-not-found": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.4.3.tgz", + "integrity": "sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==", + "license": "MIT", + "dependencies": { + "@oclif/core": "^2.15.0", + "chalk": "^4", + "fast-levenshtein": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz", + "integrity": "sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==", + "license": "MIT", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.5", + "tslib": "^2.6.2" + } + }, + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.5.0.tgz", + "integrity": "sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg==", + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.8", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.5", + "tslib": "^2.6.2", + "webcrypto-core": "^1.8.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, + "node_modules/@rescript/std": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", + "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "license": "MIT" + }, + "node_modules/@types/bn.js": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", + "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cli-progress": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz", + "integrity": "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "license": "MIT" + }, + "node_modules/@types/secp256k1": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==", + "license": "MIT" + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "license": "MIT", + "dependencies": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "license": "MIT", + "dependencies": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", + "license": "MIT" + }, + "node_modules/any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apisauce": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", + "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", + "license": "MIT", + "dependencies": { + "axios": "^0.21.4" + } + }, + "node_modules/app-module-path": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", + "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==", + "license": "BSD-2-Clause" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "license": "Apache-2.0", + "dependencies": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base-x": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-install-raw": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", + "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", + "license": "MIT", + "dependencies": { + "axios": "^0.21.1", + "rimraf": "^3.0.2", + "tar": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "license": "MIT" + }, + "node_modules/blob-to-it": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", + "license": "ISC", + "dependencies": { + "browser-readablestream-to-it": "^1.0.3" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" + }, + "node_modules/browser-readablestream-to-it": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", + "license": "ISC" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "license": "MIT", + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "license": "MIT" + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "license": "MIT" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "license": "MIT", + "dependencies": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + }, + "bin": { + "cdl": "bin/cdl.js" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "license": "Apache-2.0" + }, + "node_modules/cborg": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", + "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", + "license": "Apache-2.0", + "bin": { + "cborg": "cli.js" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } + }, + "node_modules/docker-compose": { + "version": "0.23.19", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", + "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", + "license": "MIT", + "dependencies": { + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/docker-modem": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", + "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^3.2.6", + "JSONStream": "1.3.2", + "readable-stream": "~1.0.26-4", + "split-ca": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/docker-modem/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/docker-modem/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/docker-modem/node_modules/JSONStream": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/docker-modem/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/docker-modem/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, + "node_modules/dockerode": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", + "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", + "license": "Apache-2.0", + "dependencies": { + "concat-stream": "~1.6.2", + "docker-modem": "^1.0.8", + "tar-fs": "~1.16.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-fetch": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", + "license": "MIT", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/elliptic": { + "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", + "license": "MIT" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", + "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0" + } + }, + "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", + "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethereumjs-util": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "license": "MPL-2.0", + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ethers": { + "version": "6.13.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.3.tgz", + "integrity": "sha512-/DzbZOLVtoO4fKvvQwpEucHAQgIwBGWuRvBdwE/lMXgXvvHHTSkn7XqAQ2b+gjJzZDJjWA9OD05bVceVOsBHbg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "18.15.13", + "aes-js": "4.0.0-beta.5", + "tslib": "2.4.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethers/node_modules/@types/node": { + "version": "18.15.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", + "license": "MIT" + }, + "node_modules/ethers/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/ethers/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "license": "MIT", + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "license": "MIT" + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "license": "MIT", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-levenshtein": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", + "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", + "license": "MIT", + "dependencies": { + "fastest-levenshtein": "^1.0.7" + } + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "license": "MIT", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "license": "MIT", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-jetpack": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", + "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" + } + }, + "node_modules/fs-jetpack/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", + "license": "MIT" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gluegun": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.6.tgz", + "integrity": "sha512-9zbi4EQWIVvSOftJWquWzr9gLX2kaDgPkNR5dYWbM53eVvCI3iKuxLlnKoHC0v4uPoq+Kr/+F569tjoFbA4DSA==", + "license": "MIT", + "dependencies": { + "apisauce": "^2.1.5", + "app-module-path": "^2.2.0", + "cli-table3": "0.6.0", + "colors": "1.4.0", + "cosmiconfig": "7.0.1", + "cross-spawn": "7.0.3", + "ejs": "3.1.8", + "enquirer": "2.3.6", + "execa": "5.1.1", + "fs-jetpack": "4.3.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.lowercase": "^4.3.0", + "lodash.lowerfirst": "^4.3.1", + "lodash.pad": "^4.5.1", + "lodash.padend": "^4.6.1", + "lodash.padstart": "^4.6.1", + "lodash.repeat": "^4.1.0", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.trim": "^4.5.1", + "lodash.trimend": "^4.5.1", + "lodash.trimstart": "^4.5.1", + "lodash.uppercase": "^4.3.0", + "lodash.upperfirst": "^4.3.1", + "ora": "4.0.2", + "pluralize": "^8.0.0", + "semver": "7.3.5", + "which": "2.0.2", + "yargs-parser": "^21.0.0" + }, + "bin": { + "gluegun": "bin/gluegun" + } + }, + "node_modules/gluegun/node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gluegun/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphql": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", + "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-import-node": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", + "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", + "license": "MIT", + "peerDependencies": { + "graphql": "*" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "license": "MIT", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "license": "MIT", + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperlinker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", + "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", + "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/interface-datastore": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", + "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", + "license": "MIT", + "dependencies": { + "interface-store": "^2.0.2", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/interface-store": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", + "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", + "license": "(Apache-2.0 OR MIT)" + }, + "node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ipfs-core-types": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", + "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", + "license": "(Apache-2.0 OR MIT)", + "dependencies": { + "interface-datastore": "^6.0.2", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13" + } + }, + "node_modules/ipfs-core-utils": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", + "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", + "license": "MIT", + "dependencies": { + "any-signal": "^2.1.2", + "blob-to-it": "^1.0.1", + "browser-readablestream-to-it": "^1.0.1", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-unixfs": "^6.0.3", + "ipfs-utils": "^9.0.2", + "it-all": "^1.0.4", + "it-map": "^1.0.4", + "it-peekable": "^1.0.2", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiaddr-to-uri": "^8.0.0", + "multiformats": "^9.4.13", + "nanoid": "^3.1.23", + "parse-duration": "^1.0.0", + "timeout-abort-controller": "^2.0.0", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/ipfs-http-client": { + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", + "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", + "license": "(Apache-2.0 OR MIT)", + "dependencies": { + "@ipld/dag-cbor": "^7.0.0", + "@ipld/dag-json": "^8.0.1", + "@ipld/dag-pb": "^2.1.3", + "abort-controller": "^3.0.0", + "any-signal": "^2.1.2", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "ipfs-core-types": "^0.9.0", + "ipfs-core-utils": "^0.13.0", + "ipfs-utils": "^9.0.2", + "it-first": "^1.0.6", + "it-last": "^1.0.4", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.4.13", + "native-abort-controller": "^1.0.3", + "parse-duration": "^1.0.0", + "stream-to-it": "^0.2.2", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ipfs-unixfs": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", + "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", + "license": "Apache-2.0 OR MIT", + "dependencies": { + "err-code": "^3.0.1", + "protobufjs": "^6.10.2" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/ipfs-utils": { + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", + "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", + "license": "Apache-2.0 OR MIT", + "dependencies": { + "any-signal": "^3.0.0", + "browser-readablestream-to-it": "^1.0.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-all": "^1.0.4", + "it-glob": "^1.0.1", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-fetch": "^3.0.0", + "node-fetch": "^2.6.8", + "react-native-fetch-api": "^3.0.0", + "stream-to-it": "^0.2.2" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/ipfs-utils/node_modules/any-signal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", + "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", + "license": "MIT" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-electron": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "license": "MIT", + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "license": "MIT", + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/iso-url": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/it-all": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", + "license": "ISC" + }, + "node_modules/it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", + "license": "ISC" + }, + "node_modules/it-glob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", + "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", + "license": "ISC", + "dependencies": { + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" + } + }, + "node_modules/it-last": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", + "license": "ISC" + }, + "node_modules/it-map": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", + "license": "ISC" + }, + "node_modules/it-peekable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", + "license": "ISC" + }, + "node_modules/it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "node_modules/it-to-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/it-to-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jayson": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", + "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", + "license": "MIT", + "dependencies": { + "@types/connect": "^3.4.33", + "@types/node": "^12.12.54", + "@types/ws": "^7.4.4", + "commander": "^2.20.3", + "delay": "^5.0.0", + "es6-promisify": "^5.0.0", + "eyes": "^0.1.8", + "isomorphic-ws": "^4.0.1", + "json-stringify-safe": "^5.0.1", + "JSONStream": "^1.3.5", + "uuid": "^8.3.2", + "ws": "^7.4.5" + }, + "bin": { + "jayson": "bin/jayson.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "license": "MIT" + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keccak/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/keccak/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "license": "MIT" + }, + "node_modules/lodash.lowercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", + "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==", + "license": "MIT" + }, + "node_modules/lodash.lowerfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", + "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==", + "license": "MIT" + }, + "node_modules/lodash.pad": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", + "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==", + "license": "MIT" + }, + "node_modules/lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", + "license": "MIT" + }, + "node_modules/lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==", + "license": "MIT" + }, + "node_modules/lodash.repeat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", + "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "license": "MIT" + }, + "node_modules/lodash.trim": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", + "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==", + "license": "MIT" + }, + "node_modules/lodash.trimend": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", + "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==", + "license": "MIT" + }, + "node_modules/lodash.trimstart": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", + "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==", + "license": "MIT" + }, + "node_modules/lodash.uppercase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", + "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==", + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "license": "Apache-2.0" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "license": "ISC" + }, + "node_modules/matchstick-as": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", + "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphprotocol/graph-ts": "^0.27.0", + "assemblyscript": "^0.19.20", + "wabt": "1.0.24" + } + }, + "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", + "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", + "dev": true, + "dependencies": { + "assemblyscript": "0.19.10" + } + }, + "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", + "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "binaryen": "101.0.0-nightly.20210723", + "long": "^4.0.0" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { + "version": "101.0.0-nightly.20210723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", + "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/matchstick-as/node_modules/assemblyscript": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", + "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "binaryen": "102.0.0-nightly.20211028", + "long": "^5.2.0", + "source-map-support": "^0.5.20" + }, + "bin": { + "asc": "bin/asc", + "asinit": "bin/asinit" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/matchstick-as/node_modules/binaryen": { + "version": "102.0.0-nightly.20211028", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", + "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt" + } + }, + "node_modules/matchstick-as/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multiaddr": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "license": "MIT", + "dependencies": { + "dns-over-http-resolver": "^1.2.3", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.4.5", + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "node_modules/multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "license": "MIT", + "dependencies": { + "multiaddr": "^10.0.0" + } + }, + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", + "license": "(Apache-2.0 AND MIT)" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/native-abort-controller": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", + "license": "MIT", + "peerDependencies": { + "abort-controller": "*" + } + }, + "node_modules/native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "license": "MIT", + "peerDependencies": { + "node-fetch": "*" + } + }, + "node_modules/natural-orderby": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", + "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", + "license": "MIT", + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-treeify": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", + "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", + "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/parse-duration": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", + "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==", + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/password-prompt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", + "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", + "license": "0BSD", + "dependencies": { + "ansi-escapes": "^4.3.2", + "cross-spawn": "^7.0.3" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-native-fetch-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", + "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", + "license": "MIT", + "dependencies": { + "p-defer": "^3.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", + "license": "MIT", + "dependencies": { + "esprima": "~4.0.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", + "license": "MIT" + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "license": "MPL-2.0", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", + "license": "MIT" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", + "license": "ISC" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", + "license": "MIT", + "dependencies": { + "get-iterator": "^1.0.2" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", + "license": "MIT", + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "license": "MIT", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "license": "MIT", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "license": "MIT", + "dependencies": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "license": "MIT", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "license": "MIT", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/timeout-abort-controller": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", + "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.4", + "retimer": "^3.0.0" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "license": "MIT", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", + "license": "MIT" + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "license": "MIT" + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "license": "MIT" + }, + "node_modules/wabt": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", + "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "wasm-decompile": "bin/wasm-decompile", + "wasm-interp": "bin/wasm-interp", + "wasm-objdump": "bin/wasm-objdump", + "wasm-opcodecnt": "bin/wasm-opcodecnt", + "wasm-strip": "bin/wasm-strip", + "wasm-validate": "bin/wasm-validate", + "wasm2c": "bin/wasm2c", + "wasm2wat": "bin/wasm2wat", + "wat2wasm": "bin/wat2wasm" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/web3-eth-abi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", + "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", + "license": "LGPL-3.0", + "dependencies": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.7.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", + "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", + "license": "LGPL-3.0", + "dependencies": { + "bn.js": "^4.11.9", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/webcrypto-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.8.0.tgz", + "integrity": "sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw==", + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.8", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.5", + "tslib": "^2.6.2" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + } + } +} diff --git a/v2-subgraph/package.json b/v2-subgraph/package.json new file mode 100644 index 0000000..1da9a4b --- /dev/null +++ b/v2-subgraph/package.json @@ -0,0 +1,21 @@ +{ + "name": "v2_subgraph", + "license": "UNLICENSED", + "scripts": { + "codegen": "graph codegen", + "build": "graph build", + "deploy": "graph deploy --node https://api.studio.thegraph.com/deploy/ v2_subgraph", + "create-local": "graph create --node http://localhost:8020/ v2_subgraph", + "remove-local": "graph remove --node http://localhost:8020/ v2_subgraph", + "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 v2_subgraph", + "test": "graph test" + }, + "dependencies": { + "@graphprotocol/graph-cli": "0.85.0", + "@graphprotocol/graph-ts": "0.32.0", + "ethers": "^6.13.3" + }, + "devDependencies": { + "matchstick-as": "0.5.0" + } +} diff --git a/v2-subgraph/schema.graphql b/v2-subgraph/schema.graphql new file mode 100644 index 0000000..a0e7e7e --- /dev/null +++ b/v2-subgraph/schema.graphql @@ -0,0 +1,86 @@ +type BalanceAdjusted @entity(immutable: true) { + id: Bytes! + subaccount: SubAccount! + asset: Asset! + accountId: BigInt! # uint256 + manager: String! # address + amount: BigDecimal! # int256 + preBalance: BigDecimal! # int256 + postBalance: BigDecimal! # int256 + tradeId: BigInt! # uint256 + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: String! +} + +type SubAccount @entity { + id: String! + subaccountId: BigInt! + owner: Account! # The current owner of this subaccount + matchingOwner: Account # Only populated if this is owned by the matching contract + balances: [SubAccountBalance!]! @derivedFrom(field: "subaccount") + balanceAdjustments: [BalanceAdjusted!]! @derivedFrom(field: "subaccount") + takerTrades: [Trade!]! @derivedFrom(field: "taker") + makerTrades: [Trade!]! @derivedFrom(field: "maker") +} + +type Account @entity { + id: String! + owner: String # If a LightAccount + subaccounts: [SubAccount!]! @derivedFrom(field: "owner") + depositedSubaccounts: [SubAccount!]! @derivedFrom(field: "matchingOwner") +} + +type SubAccountBalance @entity { + id: String! # Composite key: subaccount + asset + subaccount: SubAccount! + asset: Asset! + balance: BigDecimal! # int256 + lastUpdated: BigInt! # timestamp +} + +type Asset @entity { + id: String! # (assetAndSubId) + assetContract: AssetContract! + subId: BigInt! + name: String! + expiry: BigInt + strike: Int + isCall: Boolean + balances: [SubAccountBalance!]! @derivedFrom(field: "asset") + balanceAdjustments: [BalanceAdjusted!]! @derivedFrom(field: "asset") + trades: [Trade!]! @derivedFrom(field: "base") +} + + +enum AssetType { + Option + Perp + Spot + Unknown +} + +type AssetContract @entity { + id: String! + address: String! + currency: Currency! + assetType: AssetType! +} + +type Currency @entity { + id: String! +} + +type Trade @entity(immutable: true) { + id: Bytes! + base: Asset! + taker: SubAccount! + maker: SubAccount! + takerIsBid: Boolean! + isRFQ: Boolean! + amountQuote: BigDecimal! + amountBase: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: String! +} \ No newline at end of file diff --git a/v2-subgraph/src/matching.ts b/v2-subgraph/src/matching.ts new file mode 100644 index 0000000..af369c2 --- /dev/null +++ b/v2-subgraph/src/matching.ts @@ -0,0 +1,35 @@ +import { + DepositedSubAccount as DepositedSubAccountEvent, + WithdrewSubAccount as WithdrewSubAccountEvent + } from "../generated/matching/Matching" + import { SubAccount, Account } from "../generated/schema" + + export function handleDepositedSubAccount(event: DepositedSubAccountEvent): void { + let subaccountId = event.params.accountId.toString() + let subaccount = SubAccount.load(subaccountId) + + if (subaccount) { + // Check if the Account exists + let accountId = event.params.owner.toHexString() + let account = Account.load(accountId) + + // If the Account doesn't exist, create it + if (!account) { + account = new Account(accountId) + account.save() + } + + subaccount.matchingOwner = account.id + subaccount.save() + } + } + + export function handleWithdrewSubAccount(event: WithdrewSubAccountEvent): void { + let subaccountId = event.params.accountId.toString() + let subaccount = SubAccount.load(subaccountId) + + if (subaccount) { + subaccount.matchingOwner = null + subaccount.save() + } + } \ No newline at end of file diff --git a/v2-subgraph/src/rfqModule.ts b/v2-subgraph/src/rfqModule.ts new file mode 100644 index 0000000..31fa889 --- /dev/null +++ b/v2-subgraph/src/rfqModule.ts @@ -0,0 +1,44 @@ +import { RFQTradeCompleted as RFQTradeCompletedEvent } from "../generated/RFQModule/RFQModule" +import { Trade, SubAccount, Asset } from "../generated/schema" +import { BigDecimal, BigInt, Bytes } from "@graphprotocol/graph-ts" +import { handleNewAsset, ONE } from "./utils" + +export function handleRFQTradeCompleted(event: RFQTradeCompletedEvent): void { + // Load or create maker and taker subaccounts + let makerId = event.params.maker.toString() + let takerId = event.params.taker.toString() + let maker = SubAccount.load(makerId) + let taker = SubAccount.load(takerId) + + if (!taker || !maker) { + throw new Error("Taker or maker subaccount not found") + } + + // Assuming the first trade in the array is the main trade we're interested in + + for (let i = 0; i < event.params.trades.length; i++) { + let tradeData = event.params.trades[i] + let tradeId = event.transaction.hash.concatI32(event.logIndex.toI32()).concatI32(i) + let trade = new Trade(tradeId) + + // Load or create the asset + let assetId = tradeData.asset.concat(Bytes.fromByteArray(Bytes.fromBigInt(tradeData.subId))) + let asset = Asset.load(assetId.toHexString()) + if (!asset) { + asset = handleNewAsset(assetId) + } + + trade.base = asset.id + trade.taker = taker.id + trade.maker = maker.id + trade.takerIsBid = tradeData.baseAmt.gt(BigInt.fromI32(0)) + trade.amountQuote = tradeData.quoteAmt.abs().toBigDecimal().div(ONE) + trade.amountBase = tradeData.baseAmt.abs().toBigDecimal().div(ONE) + trade.blockNumber = event.block.number + trade.blockTimestamp = event.block.timestamp + trade.transactionHash = event.transaction.hash.toHexString() + trade.isRFQ = true + + trade.save() + } +} \ No newline at end of file diff --git a/v2-subgraph/src/smartAccounts.ts b/v2-subgraph/src/smartAccounts.ts new file mode 100644 index 0000000..b5e9e27 --- /dev/null +++ b/v2-subgraph/src/smartAccounts.ts @@ -0,0 +1,35 @@ +import { + AccountDeployed as AccountDeployedEvent +} from "../generated/AccountFactory/EntryPoint" +import { LightAccount as LightAccountContract, OwnershipTransferred } from "../generated/templates/LightAccount/LightAccount" +import { BigInt, Bytes, BigDecimal } from '@graphprotocol/graph-ts'; +import { Account } from "../generated/schema" +import { LightAccount } from "../generated/templates" + +export function handleAccountDeployed(event: AccountDeployedEvent): void { + // Create a new LightAccount data source template + LightAccount.create(event.params.sender) + + let lightAccount = LightAccountContract.bind(event.params.sender) + + let owner = lightAccount.owner() + + let account = new Account(event.params.sender.toHexString()) + account.owner = owner.toHexString() + account.save() +} + +export function handleOwnershipTransferred(event: OwnershipTransferred): void { + // Update the owner of the Account + let accountId = event.address.toHexString() + let account = Account.load(accountId) + + if (account) { + account.owner = event.params.newOwner.toHexString() + account.save() + } else { + account = new Account(accountId) + account.owner = event.params.newOwner.toHexString() + account.save() + } +} \ No newline at end of file diff --git a/v2-subgraph/src/subaccounts.ts b/v2-subgraph/src/subaccounts.ts new file mode 100644 index 0000000..e5d4ab9 --- /dev/null +++ b/v2-subgraph/src/subaccounts.ts @@ -0,0 +1,103 @@ +import { + BalanceAdjusted as BalanceAdjustedEvent, + Transfer as TransferEvent +} from "../generated/subaccounts/SubAccounts" +import { BalanceAdjusted, SubAccountBalance, SubAccount, Asset, Account } from "../generated/schema" +import { handleNewAsset, ONE } from "./utils" +import {log} from '@graphprotocol/graph-ts' + + + +export function handleBalanceAdjusted(event: BalanceAdjustedEvent): void { + let subaccountId = event.params.accountId.toString() + let assetId = event.params.assetAndSubId + + let assetHex = assetId.toHexString() + + // Handle User entity + let subaccount = SubAccount.load(subaccountId) + if (subaccount == null) { + subaccount = new SubAccount(subaccountId) + subaccount.subaccountId = event.params.accountId + subaccount.save() + } + + // Handle Asset entity + let asset = Asset.load(assetHex) + if (asset == null) { + asset = handleNewAsset(assetId) + } + + + // Handle BalanceAdjusted entity + let balanceAdjustedId = event.transaction.hash.concatI32(event.logIndex.toI32()) + let balanceAdjusted = new BalanceAdjusted(balanceAdjustedId) + balanceAdjusted.subaccount = subaccountId + balanceAdjusted.asset = assetHex + balanceAdjusted.accountId = event.params.accountId + balanceAdjusted.manager = event.params.manager.toHexString() + balanceAdjusted.amount = event.params.amount.toBigDecimal().div(ONE) + balanceAdjusted.preBalance = event.params.preBalance.toBigDecimal().div(ONE) + balanceAdjusted.postBalance = event.params.postBalance.toBigDecimal().div(ONE) + balanceAdjusted.tradeId = event.params.tradeId + balanceAdjusted.blockNumber = event.block.number + balanceAdjusted.blockTimestamp = event.block.timestamp + balanceAdjusted.transactionHash = event.transaction.hash.toHexString() + balanceAdjusted.save() + + // Handle UserBalance entity + let subaccountBalanceId = subaccountId.concat(assetHex) + let subaccountBalance = SubAccountBalance.load(subaccountBalanceId) + + if (subaccountBalance == null) { + subaccountBalance = new SubAccountBalance(subaccountBalanceId) + subaccountBalance.subaccount = subaccountId + subaccountBalance.asset = assetHex + } + + subaccountBalance.balance = balanceAdjusted.postBalance + subaccountBalance.lastUpdated = event.block.timestamp + subaccountBalance.save() +} + +// export function handleAccountCreated(event: AccountCreatedEvent): void { +// let accountId = event.params.owner +// let subaccountId = event.params.accountId.toString() + +// // Create or load Account entity. If it doesnt exist, its an EOA +// let account = Account.load(accountId) +// if (account == null) { +// account = new Account(accountId) +// account.save() +// } + +// // Create SubAccount entity +// let subaccount = new SubAccount(subaccountId) +// subaccount.owner = accountId +// subaccount.save() +// } + +export function handleTransfer(event: TransferEvent): void { + let accountId = event.params.to.toHexString() + let subaccountId = event.params.tokenId.toString() + + // Create or load Account entity. If it doesnt exist, its an EOA + let account = Account.load(accountId) + if (account == null) { + account = new Account(accountId) + account.save() + } + + // Create SubAccount entity + let subaccount = SubAccount.load(subaccountId) + if (subaccount == null) { + subaccount = new SubAccount(subaccountId) + subaccount.subaccountId = event.params.tokenId + subaccount.owner = accountId + subaccount.save() + } else { + subaccount.owner = accountId + subaccount.save() + } +} + diff --git a/v2-subgraph/src/tradeModule.ts b/v2-subgraph/src/tradeModule.ts new file mode 100644 index 0000000..46225bb --- /dev/null +++ b/v2-subgraph/src/tradeModule.ts @@ -0,0 +1,44 @@ +import { + OrderMatched as OrderMatchedEvent +} from "../generated/TradeModule/TradeModule" +import { Trade, SubAccount, Asset } from "../generated/schema" +import { handleNewAsset, ONE } from "./utils" + +export function handleOrderMatched(event: OrderMatchedEvent): void { + let tradeId = event.transaction.hash.concatI32(event.logIndex.toI32()) + let trade = new Trade(tradeId) + + // Load or create the base Asset + let baseAssetId = event.params.base + // Handle Asset entity + let asset = Asset.load(baseAssetId.toHexString()) + if (asset == null) { + asset = handleNewAsset(baseAssetId) + } + + // Load or create the taker SubAccount + let takerId = event.params.taker.toString() + let taker = SubAccount.load(takerId) + + + // Load or create the maker SubAccount + let makerId = event.params.maker.toString() + let maker = SubAccount.load(makerId) + + if (!taker || !maker) { + throw new Error("Taker or maker subaccount not found") + } + + trade.base = asset.id + trade.taker = taker.id + trade.maker = maker.id + trade.takerIsBid = event.params.takerIsBid + trade.amountQuote = event.params.amtQuote.toBigDecimal().div(ONE) + trade.amountBase = event.params.amtBase.toBigDecimal().div(ONE) + trade.blockNumber = event.block.number + trade.blockTimestamp = event.block.timestamp + trade.transactionHash = event.transaction.hash.toHexString() + trade.isRFQ = false + + trade.save() +} \ No newline at end of file diff --git a/v2-subgraph/src/utils.ts b/v2-subgraph/src/utils.ts new file mode 100644 index 0000000..c5ba3f4 --- /dev/null +++ b/v2-subgraph/src/utils.ts @@ -0,0 +1,198 @@ +import { BigInt,Bytes, log } from '@graphprotocol/graph-ts'; +import { Asset, AssetContract, Currency } from '../generated/schema'; +import { json, BigDecimal } from '@graphprotocol/graph-ts'; + +export const ONE = BigDecimal.fromString('1000000000000000000') + +// MUST BE LOWERCASE +const ADDRESS_MAP = `{ + "0xaf65752c4643e25c02f693f9d4fe19cf23a095e3" :{ + "currency": "ETH", + "type": "perp" + }, + "0xdba83c0c654db1cd914fa2710ba743e925b53086" :{ + "currency": "BTC", + "type": "perp" + }, + "0xf00a5bd70772a4cd9a25fa856238962ec5ad5326" :{ + "currency": "SOL", + "type": "perp" + }, + "0x4bb4c3cdc7562f08e9910a0c7d8bb7e108861eb4":{ + "currency": "ETH", + "type": "option" + }, + "0xd0711b9ebe84b778483709cde62bacfdbae13623":{ + "currency": "BTC", + "type": "option" + }, + "0x57b03e14d409adc7fab6cfc44b5886cad2d5f02b":{ + "currency": "USDC", + "type": "spot" + } +}` + +const addresses = json.fromString(ADDRESS_MAP) + + +class DecodedHash { + address: string; + subId: BigInt; + + constructor(address: string, subId: BigInt) { + this.address = address; + this.subId = subId; + } +} + +export function decodeHashWithEthers(hashHex: Bytes): DecodedHash { + const reversedBytes = Bytes.fromUint8Array(hashHex.reverse() as Uint8Array); + const hashBigInt = BigInt.fromUnsignedBytes(reversedBytes); + + // Extract the address + const shiftedAddress = hashBigInt.rightShift(96); // Shift right by 96 bits + const addressMask = BigInt.fromString('0xffffffffffffffffffffffffffffffffffffffff'); + const addressBigInt = shiftedAddress.bitAnd(addressMask); + const addressHex = addressBigInt.toHexString().slice(2).padStart(40, '0'); + const address = '0x' + addressHex.toLowerCase(); + + // Extract the subId + const subIdMask = BigInt.fromString('0xffffffffffffffffffffffff'); + const subId = hashBigInt.bitAnd(subIdMask); + + return new DecodedHash(address, subId); +} + +export function encodeAssetId(assetAddress: Bytes, subId: BigInt): Bytes { + // Convert address to BigInt + let addressBigInt = BigInt.fromUnsignedBytes(assetAddress) + + // Shift left by 96 bits (equivalent to << 96 in Solidity) + let shiftedAddress = addressBigInt.leftShift(96) + + // Combine with subId using bitwise OR + let combined = shiftedAddress.bitOr(subId) + + // Convert to bytes32 + return Bytes.fromBigInt(combined) +} + +class OptionDetails { + name: string; + expiry: BigInt; // Changed from i32 to BigInt + strike: BigInt; + isCall: boolean; + + constructor(name: string, expiry: BigInt, strike: BigInt, isCall: boolean) { + this.name = name; + this.expiry = expiry; + this.strike = strike; + this.isCall = isCall; + } +} +const UINT32_MAX = BigInt.fromString('0xffffffff'); +const UINT63_MAX = BigInt.fromString('0x7fffffffffffffff'); + +function getOptionDetails(subId: BigInt): OptionDetails { + // Extract components + const expiry = subId.bitAnd(UINT32_MAX); + const strike = subId.rightShift(32).bitAnd(UINT63_MAX).div(BigInt.fromString('100000000')); + const isCall = subId.rightShift(95).gt(BigInt.fromI32(0)); + + // Format name + const optionType = isCall ? 'C' : 'P'; + const expiryDate = new Date(expiry.toI64() * 1000); // Convert to i64 for Date constructor + const formattedExpiry = `${expiryDate.getUTCFullYear()}${(expiryDate.getUTCMonth() + 1).toString().padStart(2, '0')}${expiryDate.getUTCDate().toString().padStart(2, '0')}`; + const strikeFormatted = strike.toString(); + const name = `${formattedExpiry}-${strikeFormatted}-${optionType}`; + return new OptionDetails(name, expiry, strike, isCall); +} + + +export function handleNewAsset(assetId: Bytes): Asset { + let asset = new Asset(assetId.toHexString()) + const decodedHash = decodeHashWithEthers(assetId) + + let assetContract = AssetContract.load(decodedHash.address) + if (assetContract == null) { + assetContract = handleNewAssetContract(decodedHash.address) + } + + if (assetContract.assetType == 'Option') { + + let optionDetails = getOptionDetails(decodedHash.subId) + asset.name = assetContract.currency + '-' + optionDetails.name + asset.expiry = optionDetails.expiry + asset.strike = optionDetails.strike.toI32() + asset.isCall = optionDetails.isCall + } else if (assetContract.assetType == 'Perp') { + asset.name = assetContract.currency + '-Perp' + } else if (assetContract.assetType == 'Spot') { + asset.name = assetContract.currency + } else { + asset.name = assetContract.currency + } + + asset.assetContract = assetContract.id + asset.subId = decodedHash.subId + asset.save() + + return asset +} + +function handleNewAssetContract(assetId: string): AssetContract { + let assetContract = new AssetContract(assetId); + assetContract.address = assetId; + + let assetInfo = addresses.toObject().get(assetId); + if (assetInfo) { + let assetInfoObj = assetInfo.toObject(); + let currencyValue = assetInfoObj.get('currency'); + let typeValue = assetInfoObj.get('type'); + + assert(currencyValue != null, 'Currency value is null'); + assert(typeValue != null, 'Type value is null'); + + if (currencyValue) { + let currency = Currency.load(currencyValue.toString()) + if (currency == null) { + currency = new Currency(currencyValue.toString()) + currency.save() + } + assetContract.currency = currency.id; + } else { + let currency = Currency.load('Unknown') + if (currency == null) { + currency = new Currency('Unknown') + currency.save() + } + assetContract.currency = currency.id; + } + + if (typeValue) { + let typeString = typeValue.toString().toLowerCase(); + if (typeString == 'option') { + assetContract.assetType = 'Option'; + } else if (typeString == 'perp') { + assetContract.assetType = 'Perp'; + } else if (typeString == 'spot') { + assetContract.assetType = 'Spot'; + } else { + assetContract.assetType = 'Unknown'; + } + } else { + assetContract.assetType = 'Unknown'; + } + } else { + assetContract.assetType = 'Unknown'; + let currency = Currency.load('Unknown') + if (currency == null) { + currency = new Currency('Unknown') + currency.save() + } + assetContract.currency = currency.id; + } + + assetContract.save(); + return assetContract; +} \ No newline at end of file diff --git a/v2-subgraph/subgraph.yaml b/v2-subgraph/subgraph.yaml new file mode 100644 index 0000000..f102609 --- /dev/null +++ b/v2-subgraph/subgraph.yaml @@ -0,0 +1,137 @@ +specVersion: 1.0.0 +indexerHints: + prune: auto +schema: + file: ./schema.graphql +dataSources: + - kind: ethereum + name: subaccounts + network: "957" + source: + address: "0xE7603DF191D699d8BD9891b821347dbAb889E5a5" + abi: SubAccounts + startBlock: 843041 + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - BalanceAdjusted + - Subaccount + - SubaccountBalance + - Asset + abis: + - name: SubAccounts + file: ./abis/SubAccounts.json + eventHandlers: + - event: BalanceAdjusted(indexed uint256,indexed address,indexed bytes32,int256,int256,int256,uint256) + handler: handleBalanceAdjusted + - event: Transfer(indexed address,indexed address,indexed uint256) + handler: handleTransfer + file: ./src/subaccounts.ts + - kind: ethereum + name: matching + network: "957" + source: + address: "0xeB8d770ec18DB98Db922E9D83260A585b9F0DeAD" + abi: Matching + startBlock: 843193 + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - Subaccount + - Account + abis: + - name: Matching + file: ./abis/Matching.json + eventHandlers: + - event: DepositedSubAccount(indexed uint256,indexed address) + handler: handleDepositedSubAccount + - event: WithdrewSubAccount(indexed uint256) + handler: handleWithdrewSubAccount + file: ./src/matching.ts + - kind: ethereum + name: AccountFactory + network: "957" + source: + address: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + abi: EntryPoint + startBlock: 60787 + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - BalanceAdjusted + abis: + - name: EntryPoint + file: ./abis/EntryPoint.json + - name: LightAccount + file: ./abis/LightAccount.json + eventHandlers: + - event: AccountDeployed(indexed bytes32,indexed address,address,address) + handler: handleAccountDeployed + file: ./src/smartAccounts.ts + # - kind: ethereum + # name: TradeModule + # network: "957" + # source: + # address: "0xB8D20c2B7a1Ad2EE33Bc50eF10876eD3035b5e7b" + # abi: TradeModule + # startBlock: 843193 + # mapping: + # kind: ethereum/events + # apiVersion: 0.0.7 + # language: wasm/assemblyscript + # entities: + # - Trade + # abis: + # - name: TradeModule + # file: ./abis/TradeModule.json + # eventHandlers: + # - event: OrderMatched(address,uint256,uint256,bool,int256,uint256) + # handler: handleOrderMatched + # file: ./src/tradeModule.ts + # - kind: ethereum + # name: RFQModule + # network: "957" + # source: + # address: "0x9371352CCef6f5b36EfDFE90942fFE622Ab77F1D" + # abi: RFQModule + # startBlock: 3745265 + # mapping: + # kind: ethereum/events + # apiVersion: 0.0.7 + # language: wasm/assemblyscript + # entities: + # - Trade + # abis: + # - name: RFQModule + # file: ./abis/RFQModule.json + # eventHandlers: + # - event: RFQTradeCompleted(indexed uint256,indexed uint256,(address,uint256,int256,int256)[]) + # handler: handleRFQTradeCompleted + # file: ./src/rfqModule.ts + + +templates: + - name: LightAccount + kind: ethereum + network: "957" + source: + abi: LightAccount + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + file: ./src/smartAccounts.ts + entities: + - Account + abis: + - name: LightAccount + file: ./abis/LightAccount.json + eventHandlers: + - event: OwnershipTransferred(indexed address,indexed address) + handler: handleOwnershipTransferred diff --git a/v2-subgraph/tsconfig.json b/v2-subgraph/tsconfig.json new file mode 100644 index 0000000..4e86672 --- /dev/null +++ b/v2-subgraph/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", + "include": ["src", "tests"] +} diff --git a/v2-subgraph/yarn.lock b/v2-subgraph/yarn.lock new file mode 100644 index 0000000..03b8f9d --- /dev/null +++ b/v2-subgraph/yarn.lock @@ -0,0 +1,3594 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== + +"@babel/code-frame@^7.0.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== + dependencies: + "@ethersproject/address" "^5.0.4" + "@ethersproject/bignumber" "^5.0.7" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/constants" "^5.0.4" + "@ethersproject/hash" "^5.0.4" + "@ethersproject/keccak256" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/properties" "^5.0.3" + "@ethersproject/strings" "^5.0.4" + +"@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/hash@^5.0.4": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@float-capital/float-subgraph-uncrashable@^0.0.0-alpha.4": + version "0.0.0-internal-testing.5" + resolved "https://registry.yarnpkg.com/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz#060f98440f6e410812766c5b040952d2d02e2b73" + integrity sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA== + dependencies: + "@rescript/std" "9.0.0" + graphql "^16.6.0" + graphql-import-node "^0.0.5" + js-yaml "^4.1.0" + +"@graphprotocol/graph-cli@0.85.0": + version "0.85.0" + resolved "https://registry.yarnpkg.com/@graphprotocol/graph-cli/-/graph-cli-0.85.0.tgz#691a7161b6a4cba973bafe9ee2bb1be9df79732c" + integrity sha512-jkEgJW4R1Z1lFKSqbufmDbRRbCrtO0n9UBry5v6s/x5MOnI6I8U2oBXyt/kdK4oj+zhHqxulTaSGu5L4AAHalA== + dependencies: + "@float-capital/float-subgraph-uncrashable" "^0.0.0-alpha.4" + "@oclif/core" "2.8.6" + "@oclif/plugin-autocomplete" "^2.3.6" + "@oclif/plugin-not-found" "^2.4.0" + "@whatwg-node/fetch" "^0.8.4" + assemblyscript "0.19.23" + binary-install-raw "0.0.13" + chalk "3.0.0" + chokidar "3.5.3" + debug "4.3.4" + docker-compose "0.23.19" + dockerode "2.5.8" + fs-extra "9.1.0" + glob "9.3.5" + gluegun "5.1.6" + graphql "15.5.0" + immutable "4.2.1" + ipfs-http-client "55.0.0" + jayson "4.0.0" + js-yaml "3.14.1" + open "8.4.2" + prettier "3.0.3" + semver "7.4.0" + sync-request "6.1.0" + tmp-promise "3.0.3" + web3-eth-abi "1.7.0" + which "2.0.2" + yaml "1.10.2" + +"@graphprotocol/graph-ts@0.32.0": + version "0.32.0" + resolved "https://registry.yarnpkg.com/@graphprotocol/graph-ts/-/graph-ts-0.32.0.tgz#36f8cd8e4ef42c3c32536cceb9995ab990f51d29" + integrity sha512-YfKLT2w+ItXD/VPYQiAKtINQONVsAOkcqVFMHlhUy0fcEBVWuFBT53hJNI0/l5ujQa4TSxtzrKW/7EABAdgI8g== + dependencies: + assemblyscript "0.19.10" + +"@graphprotocol/graph-ts@^0.27.0": + version "0.27.0" + resolved "https://registry.yarnpkg.com/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz#948fe1716f6082964a01a63a19bcbf9ac44e06ff" + integrity sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w== + dependencies: + assemblyscript "0.19.10" + +"@ipld/dag-cbor@^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" + integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== + dependencies: + cborg "^1.6.0" + multiformats "^9.5.4" + +"@ipld/dag-json@^8.0.1": + version "8.0.11" + resolved "https://registry.yarnpkg.com/@ipld/dag-json/-/dag-json-8.0.11.tgz#8d30cc2dfacb0aef04d327465d3df91e79e8b6ce" + integrity sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA== + dependencies: + cborg "^1.5.4" + multiformats "^9.5.4" + +"@ipld/dag-pb@^2.1.3": + version "2.1.18" + resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-2.1.18.tgz#12d63e21580e87c75fd1a2c62e375a78e355c16f" + integrity sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg== + dependencies: + multiformats "^9.5.4" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@oclif/core@2.8.6": + version "2.8.6" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.8.6.tgz#7eb6984108f471ad0d719d3c07cde14c47ab17c5" + integrity sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + +"@oclif/core@^2.15.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.16.0.tgz#e6f3c6c359d4313a15403d8652bbdd0e99ce4b3a" + integrity sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + +"@oclif/plugin-autocomplete@^2.3.6": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.10.tgz#787f6208cdfe10ffc68ad89e9e7f1a7ad0e8987f" + integrity sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg== + dependencies: + "@oclif/core" "^2.15.0" + chalk "^4.1.0" + debug "^4.3.4" + +"@oclif/plugin-not-found@^2.4.0": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-2.4.3.tgz#3d24095adb0f3876cb4bcfdfdcb775086cf6d4b5" + integrity sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg== + dependencies: + "@oclif/core" "^2.15.0" + chalk "^4" + fast-levenshtein "^3.0.0" + +"@peculiar/asn1-schema@^2.3.8": + version "2.3.13" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz#ec8509cdcbc0da3abe73fd7e690556b57a61b8f4" + integrity sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g== + dependencies: + asn1js "^3.0.5" + pvtsutils "^1.3.5" + tslib "^2.6.2" + +"@peculiar/json-schema@^1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@peculiar/json-schema/-/json-schema-1.1.12.tgz#fe61e85259e3b5ba5ad566cb62ca75b3d3cd5339" + integrity sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== + dependencies: + tslib "^2.0.0" + +"@peculiar/webcrypto@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.5.0.tgz#9e57174c02c1291051c553600347e12b81469e10" + integrity sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg== + dependencies: + "@peculiar/asn1-schema" "^2.3.8" + "@peculiar/json-schema" "^1.1.12" + pvtsutils "^1.3.5" + tslib "^2.6.2" + webcrypto-core "^1.8.0" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@rescript/std@9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@rescript/std/-/std-9.0.0.tgz#df53f3fa5911cb4e85bd66b92e9e58ddf3e4a7e1" + integrity sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/bn.js@^5.1.0": + version "5.1.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.6.tgz#9ba818eec0c85e4d3c679518428afdf611d03203" + integrity sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w== + dependencies: + "@types/node" "*" + +"@types/cli-progress@^3.11.0": + version "3.11.6" + resolved "https://registry.yarnpkg.com/@types/cli-progress/-/cli-progress-3.11.6.tgz#94b334ebe4190f710e51c1bf9b4fedb681fa9e45" + integrity sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA== + dependencies: + "@types/node" "*" + +"@types/concat-stream@^1.6.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== + dependencies: + "@types/node" "*" + +"@types/connect@^3.4.33": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/form-data@0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" + integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== + dependencies: + "@types/node" "*" + +"@types/long@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/minimatch@^3.0.4": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/node@*", "@types/node@>=13.7.0": + version "22.7.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.4.tgz#e35d6f48dca3255ce44256ddc05dee1c23353fcc" + integrity sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg== + dependencies: + undici-types "~6.19.2" + +"@types/node@18.15.13": + version "18.15.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" + integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== + +"@types/node@^10.0.3": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/node@^8.0.0": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + +"@types/qs@^6.2.31": + version "6.9.16" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" + integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== + +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@whatwg-node/events@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.3.tgz#13a65dd4f5893f55280f766e29ae48074927acad" + integrity sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA== + +"@whatwg-node/fetch@^0.8.4": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.8.8.tgz#48c6ad0c6b7951a73e812f09dd22d75e9fa18cae" + integrity sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + "@whatwg-node/node-fetch" "^0.3.6" + busboy "^1.6.0" + urlpattern-polyfill "^8.0.0" + web-streams-polyfill "^3.2.1" + +"@whatwg-node/node-fetch@^0.3.6": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz#e28816955f359916e2d830b68a64493124faa6d0" + integrity sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA== + dependencies: + "@whatwg-node/events" "^0.0.3" + busboy "^1.6.0" + fast-querystring "^1.1.1" + fast-url-parser "^1.1.3" + tslib "^2.3.1" + +JSONStream@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" + integrity sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +acorn-walk@^8.1.1: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== + +any-signal@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102" + integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ== + dependencies: + abort-controller "^3.0.0" + native-abort-controller "^1.0.3" + +any-signal@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-3.0.1.tgz#49cae34368187a3472e31de28fb5cb1430caa9a6" + integrity sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apisauce@^2.1.5: + version "2.1.6" + resolved "https://registry.yarnpkg.com/apisauce/-/apisauce-2.1.6.tgz#94887f335bf3d735305fc895c8a191c9c2608a7f" + integrity sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg== + dependencies: + axios "^0.21.4" + +app-module-path@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5" + integrity sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1js@^3.0.1, asn1js@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" + integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== + dependencies: + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.4.0" + +assemblyscript@0.19.10: + version "0.19.10" + resolved "https://registry.yarnpkg.com/assemblyscript/-/assemblyscript-0.19.10.tgz#7ede6d99c797a219beb4fa4614c3eab9e6343c8e" + integrity sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg== + dependencies: + binaryen "101.0.0-nightly.20210723" + long "^4.0.0" + +assemblyscript@0.19.23, assemblyscript@^0.19.20: + version "0.19.23" + resolved "https://registry.yarnpkg.com/assemblyscript/-/assemblyscript-0.19.23.tgz#16ece69f7f302161e2e736a0f6a474e6db72134c" + integrity sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA== + dependencies: + binaryen "102.0.0-nightly.20211028" + long "^5.2.0" + source-map-support "^0.5.20" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +axios@^0.21.1, axios@^0.21.4: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.10" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" + integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +binary-install-raw@0.0.13: + version "0.0.13" + resolved "https://registry.yarnpkg.com/binary-install-raw/-/binary-install-raw-0.0.13.tgz#43a13c6980eb9844e2932eb7a91a56254f55b7dd" + integrity sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A== + dependencies: + axios "^0.21.1" + rimraf "^3.0.2" + tar "^6.1.0" + +binaryen@101.0.0-nightly.20210723: + version "101.0.0-nightly.20210723" + resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz#b6bb7f3501341727681a03866c0856500eec3740" + integrity sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA== + +binaryen@102.0.0-nightly.20211028: + version "102.0.0-nightly.20211028" + resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz#8f1efb0920afd34509e342e37f84313ec936afb2" + integrity sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w== + +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +blob-to-it@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb" + integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA== + dependencies: + browser-readablestream-to-it "^1.0.3" + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-readablestream-to-it@^1.0.0, browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76" + integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^6.0.1, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + +caseless@^0.12.0, caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cborg@^1.5.4, cborg@^1.6.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.2.tgz#83cd581b55b3574c816f82696307c7512db759a1" + integrity sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug== + +chalk@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.0.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +clean-stack@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-3.0.1.tgz#155bf0b2221bf5f4fba89528d24c5953f17fe3a8" + integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== + dependencies: + escape-string-regexp "4.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-progress@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" + integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== + dependencies: + string-width "^4.2.3" + +cli-spinners@^2.2.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-table3@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" + integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== + dependencies: + object-assign "^4.1.0" + string-width "^4.2.0" + optionalDependencies: + colors "^1.1.2" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colors@1.4.0, colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.6.0, concat-stream@^1.6.2, concat-stream@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@7.0.3, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.2.6: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-over-http-resolver@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" + integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== + dependencies: + debug "^4.3.1" + native-fetch "^3.0.0" + receptacle "^1.3.2" + +docker-compose@0.23.19: + version "0.23.19" + resolved "https://registry.yarnpkg.com/docker-compose/-/docker-compose-0.23.19.tgz#9947726e2fe67bdfa9e8efe1ff15aa0de2e10eb8" + integrity sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g== + dependencies: + yaml "^1.10.2" + +docker-modem@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/docker-modem/-/docker-modem-1.0.9.tgz#a1f13e50e6afb6cf3431b2d5e7aac589db6aaba8" + integrity sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw== + dependencies: + JSONStream "1.3.2" + debug "^3.2.6" + readable-stream "~1.0.26-4" + split-ca "^1.0.0" + +dockerode@2.5.8: + version "2.5.8" + resolved "https://registry.yarnpkg.com/dockerode/-/dockerode-2.5.8.tgz#1b661e36e1e4f860e25f56e0deabe9f87f1d0acc" + integrity sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw== + dependencies: + concat-stream "~1.6.2" + docker-modem "^1.0.8" + tar-fs "~1.16.3" + +ejs@3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + dependencies: + jake "^10.8.5" + +ejs@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-fetch@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.9.1.tgz#e28bfe78d467de3f2dec884b1d72b8b05322f30f" + integrity sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== + dependencies: + encoding "^0.1.13" + +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +elliptic@^6.5.4: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquirer@2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +err-code@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +ethereum-bloom-filters@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" + integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== + dependencies: + "@noble/hashes" "^1.4.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@^7.1.0: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@^6.13.3: + version "6.13.3" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.3.tgz#b87afdadb91cc8df5f56b9c59c96e5b206f4a600" + integrity sha512-/DzbZOLVtoO4fKvvQwpEucHAQgIwBGWuRvBdwE/lMXgXvvHHTSkn7XqAQ2b+gjJzZDJjWA9OD05bVceVOsBHbg== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@types/node" "18.15.13" + aes-js "4.0.0-beta.5" + tslib "2.4.0" + ws "8.17.1" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + +fast-decode-uri-component@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" + integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== + +fast-fifo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-levenshtein@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz#37b899ae47e1090e40e3fd2318e4d5f0142ca912" + integrity sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== + dependencies: + fastest-levenshtein "^1.0.7" + +fast-querystring@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fast-querystring/-/fast-querystring-1.1.2.tgz#a6d24937b4fc6f791b4ee31dcb6f53aeafb89f53" + integrity sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg== + dependencies: + fast-decode-uri-component "^1.0.1" + +fast-url-parser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastest-levenshtein@^1.0.7: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +follow-redirects@^1.14.0: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@9.1.0, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-jetpack@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.1.tgz#cdfd4b64e6bfdec7c7dc55c76b39efaa7853bb20" + integrity sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ== + dependencies: + minimatch "^3.0.2" + rimraf "^2.6.3" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@9.3.5: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gluegun@5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/gluegun/-/gluegun-5.1.6.tgz#74ec13193913dc610f5c1a4039972c70c96a7bad" + integrity sha512-9zbi4EQWIVvSOftJWquWzr9gLX2kaDgPkNR5dYWbM53eVvCI3iKuxLlnKoHC0v4uPoq+Kr/+F569tjoFbA4DSA== + dependencies: + apisauce "^2.1.5" + app-module-path "^2.2.0" + cli-table3 "0.6.0" + colors "1.4.0" + cosmiconfig "7.0.1" + cross-spawn "7.0.3" + ejs "3.1.8" + enquirer "2.3.6" + execa "5.1.1" + fs-jetpack "4.3.1" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.lowercase "^4.3.0" + lodash.lowerfirst "^4.3.1" + lodash.pad "^4.5.1" + lodash.padend "^4.6.1" + lodash.padstart "^4.6.1" + lodash.repeat "^4.1.0" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.trim "^4.5.1" + lodash.trimend "^4.5.1" + lodash.trimstart "^4.5.1" + lodash.uppercase "^4.3.0" + lodash.upperfirst "^4.3.1" + ora "4.0.2" + pluralize "^8.0.0" + semver "7.3.5" + which "2.0.2" + yargs-parser "^21.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphql-import-node@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/graphql-import-node/-/graphql-import-node-0.0.5.tgz#caf76a6cece10858b14f27cce935655398fc1bf0" + integrity sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q== + +graphql@15.5.0: + version "15.5.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" + integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA== + +graphql@^16.6.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.9.0.tgz#1c310e63f16a49ce1fbb230bd0a000e99f6f115f" + integrity sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +http-basic@^8.1.1: + version "8.1.3" + resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" + integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== + dependencies: + caseless "^0.12.0" + concat-stream "^1.6.2" + http-response-object "^3.0.1" + parse-cache-control "^1.0.1" + +http-response-object@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" + integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== + dependencies: + "@types/node" "^10.0.3" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +hyperlinker@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" + integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immutable@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.1.tgz#8a4025691018c560a40c67e43d698f816edc44d4" + integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +interface-datastore@^6.0.2: + version "6.1.1" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-6.1.1.tgz#5150a00de2e7513eaadba58bcafd059cb50004c1" + integrity sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg== + dependencies: + interface-store "^2.0.2" + nanoid "^3.0.2" + uint8arrays "^3.0.0" + +interface-store@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-2.0.2.tgz#83175fd2b0c501585ed96db54bb8ba9d55fce34c" + integrity sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg== + +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ipfs-core-types@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz#cb201ff7a9470651ba14c4e7fae56661a55bf37e" + integrity sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg== + dependencies: + interface-datastore "^6.0.2" + multiaddr "^10.0.0" + multiformats "^9.4.13" + +ipfs-core-utils@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz#8f0ec9aaa7c24f6f307e6e76e7bdc1cefd829894" + integrity sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw== + dependencies: + any-signal "^2.1.2" + blob-to-it "^1.0.1" + browser-readablestream-to-it "^1.0.1" + debug "^4.1.1" + err-code "^3.0.1" + ipfs-core-types "^0.9.0" + ipfs-unixfs "^6.0.3" + ipfs-utils "^9.0.2" + it-all "^1.0.4" + it-map "^1.0.4" + it-peekable "^1.0.2" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + multiaddr "^10.0.0" + multiaddr-to-uri "^8.0.0" + multiformats "^9.4.13" + nanoid "^3.1.23" + parse-duration "^1.0.0" + timeout-abort-controller "^2.0.0" + uint8arrays "^3.0.0" + +ipfs-http-client@55.0.0: + version "55.0.0" + resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz#8b713c5fa318e873b7d7ad099a4eb14320a5b0ce" + integrity sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ== + dependencies: + "@ipld/dag-cbor" "^7.0.0" + "@ipld/dag-json" "^8.0.1" + "@ipld/dag-pb" "^2.1.3" + abort-controller "^3.0.0" + any-signal "^2.1.2" + debug "^4.1.1" + err-code "^3.0.1" + ipfs-core-types "^0.9.0" + ipfs-core-utils "^0.13.0" + ipfs-utils "^9.0.2" + it-first "^1.0.6" + it-last "^1.0.4" + merge-options "^3.0.4" + multiaddr "^10.0.0" + multiformats "^9.4.13" + native-abort-controller "^1.0.3" + parse-duration "^1.0.0" + stream-to-it "^0.2.2" + uint8arrays "^3.0.0" + +ipfs-unixfs@^6.0.3: + version "6.0.9" + resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz#f6613b8e081d83faa43ed96e016a694c615a9374" + integrity sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ== + dependencies: + err-code "^3.0.1" + protobufjs "^6.10.2" + +ipfs-utils@^9.0.2: + version "9.0.14" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-9.0.14.tgz#24f5fda1f4567685eb32bca2543d518f95fd8704" + integrity sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg== + dependencies: + any-signal "^3.0.0" + browser-readablestream-to-it "^1.0.0" + buffer "^6.0.1" + electron-fetch "^1.7.2" + err-code "^3.0.1" + is-electron "^2.2.0" + iso-url "^1.1.5" + it-all "^1.0.4" + it-glob "^1.0.1" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + nanoid "^3.1.20" + native-fetch "^3.0.0" + node-fetch "^2.6.8" + react-native-fetch-api "^3.0.0" + stream-to-it "^0.2.2" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-electron@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.2.tgz#3778902a2044d76de98036f5dc58089ac4d80bb9" + integrity sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +iso-url@^1.1.5: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811" + integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +it-all@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" + integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== + +it-first@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/it-first/-/it-first-1.0.7.tgz#a4bef40da8be21667f7d23e44dae652f5ccd7ab1" + integrity sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g== + +it-glob@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-1.0.2.tgz#bab9b04d6aaac42884502f3a0bfee84c7a29e15e" + integrity sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q== + dependencies: + "@types/minimatch" "^3.0.4" + minimatch "^3.0.4" + +it-last@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45" + integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q== + +it-map@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c" + integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== + +it-peekable@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c" + integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ== + +it-to-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" + integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== + dependencies: + buffer "^6.0.3" + fast-fifo "^1.0.0" + get-iterator "^1.0.2" + p-defer "^3.0.0" + p-fifo "^1.0.0" + readable-stream "^3.6.0" + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jayson@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.0.0.tgz#145a0ced46f900934c9b307e1332bcb0c7dbdb17" + integrity sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.4.5" + +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.14.1, js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +keccak@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.lowercase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz#46515aced4acb0b7093133333af068e4c3b14e9d" + integrity sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA== + +lodash.lowerfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz#de3c7b12e02c6524a0059c2f6cb7c5c52655a13d" + integrity sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w== + +lodash.pad@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + integrity sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg== + +lodash.padend@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + integrity sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw== + +lodash.padstart@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + integrity sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw== + +lodash.repeat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.repeat/-/lodash.repeat-4.1.0.tgz#fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44" + integrity sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.trim@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.trim/-/lodash.trim-4.5.1.tgz#36425e7ee90be4aa5e27bcebb85b7d11ea47aa57" + integrity sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg== + +lodash.trimend@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.trimend/-/lodash.trimend-4.5.1.tgz#12804437286b98cad8996b79414e11300114082f" + integrity sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA== + +lodash.trimstart@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz#8ff4dec532d82486af59573c39445914e944a7f1" + integrity sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ== + +lodash.uppercase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz#c404abfd1469f93931f9bb24cf6cc7d57059bc73" + integrity sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +long@^5.2.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +matchstick-as@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/matchstick-as/-/matchstick-as-0.5.0.tgz#cdafc1ef49d670b9cbe98e933bc2a5cb7c450aeb" + integrity sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg== + dependencies: + "@graphprotocol/graph-ts" "^0.27.0" + assemblyscript "^0.19.20" + wabt "1.0.24" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +merge-options@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== + dependencies: + is-plain-obj "^2.1.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multiaddr-to-uri@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz#65efe4b1f9de5f6b681aa42ff36a7c8db7625e58" + integrity sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA== + dependencies: + multiaddr "^10.0.0" + +multiaddr@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-10.0.1.tgz#0d15848871370860a4d266bb44d93b3dac5d90ef" + integrity sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg== + dependencies: + dns-over-http-resolver "^1.2.3" + err-code "^3.0.1" + is-ip "^3.1.0" + multiformats "^9.4.5" + uint8arrays "^3.0.0" + varint "^6.0.0" + +multiformats@^9.4.13, multiformats@^9.4.2, multiformats@^9.4.5, multiformats@^9.5.4: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +nanoid@^3.0.2, nanoid@^3.1.20, nanoid@^3.1.23: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +native-abort-controller@^1.0.3, native-abort-controller@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.4.tgz#39920155cc0c18209ff93af5bc90be856143f251" + integrity sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ== + +native-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" + integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== + +natural-orderby@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016" + integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-fetch@^2.6.8: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@^4.2.0: + version "4.8.2" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.2.tgz#4f802b71c1ab2ca16af830e6c1ea7dd1ad9496fa" + integrity sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + +object-treeify@^1.1.33: + version "1.1.33" + resolved "https://registry.yarnpkg.com/object-treeify/-/object-treeify-1.1.33.tgz#f06fece986830a3cba78ddd32d4c11d1f76cdf40" + integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@8.4.2: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +ora@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.2.tgz#0e1e68fd45b135d28648b27cf08081fa6e8a297d" + integrity sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig== + dependencies: + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" + integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== + dependencies: + fast-fifo "^1.0.0" + p-defer "^3.0.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-cache-control@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== + +parse-duration@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-1.1.0.tgz#5192084c5d8f2a3fd676d04a451dbd2e05a1819c" + integrity sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ== + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +password-prompt@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.3.tgz#05e539f4e7ca4d6c865d479313f10eb9db63ee5f" + integrity sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== + dependencies: + ansi-escapes "^4.3.2" + cross-spawn "^7.0.3" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-scurry@^1.6.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picocolors@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +prettier@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +protobufjs@^6.10.2: + version "6.11.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" + integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +pvtsutils@^1.3.2, pvtsutils@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" + integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== + dependencies: + tslib "^2.6.1" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + +qs@^6.4.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-native-fetch-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz#81e1bb6562c292521bc4eca52fe1097f4c1ebab5" + integrity sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA== + dependencies: + p-defer "^3.0.0" + +readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.0.26-4: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +receptacle@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" + integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== + dependencies: + ms "^2.1.1" + +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== + dependencies: + esprima "~4.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retimer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/retimer/-/retimer-3.0.0.tgz#98b751b1feaf1af13eb0228f8ea68b8f9da530df" + integrity sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +semver@7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.4.0.tgz#8481c92feffc531ab1e012a8ffc15bdd3a0f4318" + integrity sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +source-map-support@^0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split-ca@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" + integrity sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stream-to-it@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" + integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== + dependencies: + get-iterator "^1.0.2" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +sync-request@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" + integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== + dependencies: + http-response-object "^3.0.1" + sync-rpc "^1.2.1" + then-request "^6.0.0" + +sync-rpc@^1.2.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" + integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== + dependencies: + get-port "^3.1.0" + +tar-fs@~1.16.3: + version "1.16.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-stream@^1.1.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +tar@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +then-request@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" + integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/form-data" "0.0.33" + "@types/node" "^8.0.0" + "@types/qs" "^6.2.31" + caseless "~0.12.0" + concat-stream "^1.6.0" + form-data "^2.2.0" + http-basic "^8.1.1" + http-response-object "^3.0.1" + promise "^8.0.0" + qs "^6.4.0" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timeout-abort-controller@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz#d6a59209132e520413092dd4b4d71eaaf5887feb" + integrity sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA== + dependencies: + abort-controller "^3.0.0" + native-abort-controller "^1.0.4" + retimer "^3.0.0" + +tmp-promise@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tslib@^2.0.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.1, tslib@^2.6.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +urlpattern-polyfill@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5" + integrity sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +wabt@1.0.24: + version "1.0.24" + resolved "https://registry.yarnpkg.com/wabt/-/wabt-1.0.24.tgz#c02e0b5b4503b94feaf4a30a426ef01c1bea7c6c" + integrity sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg== + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-streams-polyfill@^3.2.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== + +web3-eth-abi@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz#4fac9c7d9e5a62b57f8884b37371f515c766f3f4" + integrity sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.7.0" + +web3-utils@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.0.tgz#c59f0fd43b2449357296eb54541810b99b1c771c" + integrity sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +webcrypto-core@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.8.0.tgz#aaea17f3dd9c77c304e3c494eb27ca07cc72ca37" + integrity sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw== + dependencies: + "@peculiar/asn1-schema" "^2.3.8" + "@peculiar/json-schema" "^1.1.12" + asn1js "^3.0.1" + pvtsutils "^1.3.5" + tslib "^2.6.2" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +ws@^7.4.5: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@1.10.2, yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^21.0.0: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==